没有名为“gdbm”的模块

Aso*_*ins 43 python3

我刚刚在我的 Ubuntu 上安装了 python 3.5.1,但是我遇到了这个错误消息,无论我是使用 Anaconda 安装还是使用apt-get

No module named 'gdbm'
Run Code Online (Sandbox Code Playgroud)

通常显示在我的终端上。我也尝试gdbm使用以下方法安装:

sudo apt-get install gdbm
Run Code Online (Sandbox Code Playgroud)

但不能解决问题。我可以从这里的任何人那里获得有关如何解决此问题的帮助吗?

Kle*_*sun 53

sudo apt-get install python3.5-gdbm
Run Code Online (Sandbox Code Playgroud)

帮助过我

  • 当然,同样的模式适用于 python 3.6。 (6认同)

Che*_*603 33

就我而言,如果我尝试运行bash shell 中不存在的任何命令,我会收到以下严重错误:

$ 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'
Run Code Online (Sandbox Code Playgroud)

上面的答案都不适用于我的情况。虽然这个问题已经解决了,但这可能对某人有所帮助。如果您仍然遇到此问题,也许这会有所帮助:

我已经从存储库安装了 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]
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我只是删除了该存储库:

sed -i ' s/^/#/' /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list
Run Code Online (Sandbox Code Playgroud)

然后重新运行此命令(以 root 身份):

apt update ; apt purge python3-gdbm ; apt install command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller
Run Code Online (Sandbox Code Playgroud)

现在,一切又正常了:

$ lol
No command 'lol' found, did you mean:
 Command 'sol' from package 'aisleriot' (main)
 Command 'col' from package 'bsdmainutils' (main)
lol: command not found
Run Code Online (Sandbox Code Playgroud)

  • 我在 16.04 LTS 上也有同样的情况。我认为在 jonathonf 存储库或标准存储库中查看您的答案的新更新的时间存在冲突。由于无论如何我都为我的 Python 版本转移到了 pyenv,因此摆脱 jonathonf 存储库对我来说可能是一个好主意。 (3认同)
  • 有同样的问题,这个解决方案有效。同时,`python3.6 -m venv` 对我来说是坏的。更改为 deadsnakes 存储库解决了我的所有问题。另见/sf/answers/3513809841/ (2认同)

squ*_*org 9

您是否尝试过安装软件包 python3-gdbm

sudo apt-get install python3-gdbm
Run Code Online (Sandbox Code Playgroud)

  • 是的,我这样做了,但仍然给我同样的错误信息。 (5认同)

use*_*492 7

根据蟒蛇的版本,最近安装,ONE如下:

sudo apt-get install python3.5-gdbm
sudo apt-get install python3.6-gdbm
sudo apt-get install python3.7-gdbm
Run Code Online (Sandbox Code Playgroud)


小智 6

我有 python 3.6 安装和工作我已经尝试了很多东西但是

sudo apt-get install python3.6-gdbm
Run Code Online (Sandbox Code Playgroud)

这个命令对我有用