내가 실행 시도하면 내 경우에는, 어떤 떠들썩한 파티에 존재하지 않는 명령을 나는이 심한 오류를 얻을 것입니다 쉘 :
$ programthatdoesntexist
Traceback (most recent call last):
File "/usr/lib/python3.5/dbm/gnu.py", line 4, in <module>
from _gdbm import *
ImportError: No module named '_gdbm'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 7, in <module>
import dbm.gnu as gdbm
File "/usr/lib/python3.5/dbm/gnu.py", line 6, in <module>
raise ImportError(str(msg) + ', please install the python3-gdbm package')
ImportError: No module named '_gdbm', please install the python3-gdbm package
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/command-not-found", line 27, in <module>
from CommandNotFound.util import crash_guard
File "/usr/lib/python3/dist-packages/CommandNotFound/__init__.py", line 3, in <module>
from CommandNotFound.CommandNotFound import CommandNotFound
File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 9, in <module>
import gdbm
ImportError: No module named 'gdbm'
위의 답변 중 어느 것도 제 경우에는 효과가 없었습니다. 이 문제는 해결되었지만 누군가에게 도움이 될 수 있습니다. 이 문제가 계속 발생하면 다음과 같은 도움이 될 것입니다.
나는 저장소에서 python3.6을 설치했으며 ppa.launchpad.net/jonathonf/python-3.6/ubuntu
분명히 그 일이 일어났다.
패키지를 다시 설치하려고 할 때 command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller
apt가 여기에서 소스를 가져 오는 것으로 나타났습니다.
Get:1 http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial/main amd64 python3-gdbm amd64 3.6.5-3~16.04.york0.2 [14.6 kB]
문제를 해결하기 위해 해당 저장소를 간단히 제거했습니다.
sed -i ' s/^/#/' /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list
그리고이 명령을 루트로 다시 실행하는 것보다 :
apt update ; apt purge python3-gdbm ; apt install command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller
이제 모든 것이 다시 작동합니다.
$ lol
No command 'lol' found, did you mean:
Command 'sol' from package 'aisleriot' (main)
Command 'col' from package 'bsdmainutils' (main)
lol: command not found