没有名为’gdbm’的模块
我刚刚在我的Ubuntu上安装了python 3.5.1,但面对这个错误信息,无论我是用Anaconda还是用apt-get
:
No module named 'gdbm'
通常显示在我的终端上。 我还尝试使用以下方法安装gdbm
:
sudo apt-get install gdbm
但没有解决问题。 我可以从这里的任何人那里获得如何解决这个问题的帮助吗?
在我的情况下,如果我尝试运行bash shell中不存在的任何命令,我会得到这个严重错误:
$ programthatdoesntexist Traceback (most recent call last): File "/usr/lib/python3.5/dbm/gnu.py", line 4, in 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 import dbm.gnu as gdbm File "/usr/lib/python3.5/dbm/gnu.py", line 6, in 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 from CommandNotFound.util import crash_guard File "/usr/lib/python3/dist-packages/CommandNotFound/__init__.py", line 3, in from CommandNotFound.CommandNotFound import CommandNotFound File "/usr/lib/python3/dist-packages/CommandNotFound/CommandNotFound.py", line 9, in import gdbm ImportError: No module named 'gdbm'
以上答案都不适合我的情况。 虽然这个问题已经解决了,但这可能对某人有所帮助。 如果您仍然遇到此问题,也许这会有所帮助:
我从存储库ppa.launchpad.net/jonathonf/python-3.6/ubuntu
安装了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
然后重新运行此命令(以root身份):
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
sudo apt-get install python3.5-gdbm
帮助过我
您是否尝试过安装python3-gdbm
软件包?
sudo apt-get install python3-gdbm
我有python 3.6安装和工作我已经尝试过很多东西但是
sudo apt-get install python3.6-gdbm
这个命令对我有用
sudo apt install python3-django
帮助过我
我遇到了同样的问题并通过以下方式解决了问题:
sudo apt install python3-gdbm=3.5.1-1 dpkg -L python3-gdbm
运行synaptic,对于其他东西,显示python3-gdbm需要更新。 我允许synaptic进行更新: 现在我得到了同样的问题。
当再次运行上面的命令时,我在终端中获取第一个命令的消息:以下包将被DOWNGRADED:python3-gdbm。 在回答Y问题后如果我想继续,追溯工作再次起作用。
所以在最新版本的python3-gdbm中显然有一些错误(bug)。
当我忘记激活与我试图运行的命令一起使用的Python虚拟环境时(我的情况下是tx命令),我遇到了这个错误。