मेरे मामले में, अगर मैंने किसी भी कमांड को चलाने की कोशिश की, जो एक bash शेल में मौजूद नहीं है , तो मुझे यह सकल त्रुटि मिलेगी:
$ 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
, मैंने देखा कि उपयुक्त यहाँ से स्रोतों को खींच रहा था:
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