没有名为’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命令),我遇到了这个错误。