Kein Modul namens 'gdbm'

30

Ich habe gerade die Installation von Python 3.5.1 auf meinem Ubuntu beendet, erhalte jedoch diese Fehlermeldung, unabhängig davon, ob ich mit Anaconda oder mit apt-get:

No module named 'gdbm'

das wird normalerweise auf meinem terminal angezeigt. Ich habe auch versucht zu installieren gdbmmit:

sudo apt-get install gdbm

aber löst das Problem nicht. Kann ich von jemandem hier Hilfe bekommen, um dieses Problem zu beheben?

Asogwa Chukwuemeka Martins
quelle
Hallo Asogwa, ich bin mir nicht sicher über deinen letzten Kommentar unter meiner Antwort. Hast du es zum Laufen gebracht? Lass es mich wissen, bitte.
Jacob Vlijm
Wie installierst du? Machst du es mit Anaconda oder auf eine andere Weise?
Seanny123
Ich kann Anaconda noch nicht installieren, da bei jeder Installation von Anaconda derselbe Fehler "Kein Modul mit dem Namen" gdbm ""
angezeigt wird
Entschuldigung, ich bin immer noch ein bisschen verwirrt. Anaconda ist ein Paket, das Python3 enthält. Installieren Sie Anaconda oder Python3 separat.
Seanny123
Installiere Anaconda
Asogwa Chukwuemeka Martins am

Antworten:

29
sudo apt-get install python3.5-gdbm

half mir

Artur Klesun
quelle
4
Das gleiche Muster gilt natürlich auch für Python 3.6.
SteveJ
Was tun bei Unable to locate package python3.6-gdbm? Ich habe versucht, ein neues Repository hinzuzufügen, aber der anfängliche Fehler wird erneut angezeigt.
JCarlos
und das gleiche Muster für python3.7-gdbmmich
Grijesh Chauhan
Für Python 3.6 verwenden Siesudo apt-get install python3.6-gdbm
unixeO
28

Wenn ich in meinem Fall einen Befehl ausführen würde, der in einer Bash-Shell nicht vorhanden ist, würde ich diesen groben Fehler erhalten:

$ 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'

Keine der obigen Antworten hat in meinem Fall funktioniert. Obwohl dieses Problem gelöst wurde, könnte dies jemandem helfen. Wenn Sie dieses Problem weiterhin haben, hilft möglicherweise Folgendes:

Ich hatte Python 3.6 aus dem Repository installiert ppa.launchpad.net/jonathonf/python-3.6/ubuntu und anscheinend hat das einige Dinge kaputt gemacht.

Beim Versuch, die Pakete erneut zu installieren command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller, habe ich festgestellt, dass apt die folgenden Quellen bezieht:

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]

Um das Problem zu beheben, habe ich dieses Repository einfach entfernt:

sed -i ' s/^/#/' /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-xenial.list

Und dann diesen Befehl erneut ausführen (als root):

apt update ; apt purge python3-gdbm ; apt install command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller

Jetzt funktioniert alles wieder:

$ lol
No command 'lol' found, did you mean:
 Command 'sol' from package 'aisleriot' (main)
 Command 'col' from package 'bsdmainutils' (main)
lol: command not found
Chev_603
quelle
3
Ich hatte gerade das gleiche am 16.04 LTS. Ich denke, wenn du dir den Zeitpunkt deiner Antwort ansiehst, hat ein neues Update entweder im Jonathonf-Repo oder im Standard-Repo einen Konflikt. Da ich ohnehin für meine Python-Versionen zu pyenv gewechselt bin, ist es für mich wahrscheinlich eine gute Idee, das jonathonf-Repository loszuwerden.
Phil
Vielen Dank. Nur ein Hinweis, dass die Leute möglicherweise auch bemerken, dass die App für Absturzberichte ausgelöst wird, weil dies command-not-foundfehlschlägt.
Jamesc
2
Hatte das gleiche Problem und diese Lösung funktionierte. Gleichzeitig python3.6 -m venvwar für mich kaputt. Der Wechsel zum Deadsnakes-Repository löste alle meine Probleme. Siehe auch stackoverflow.com/a/50197283/7599943
Jonas Dahlbæk
sudo ppa-purge ppa:jonathonf/python-3.6habe es für mich behoben (es hat die notwendigen Pakete automatisch neu installiert).
jfs
9

Haben Sie versucht, das Paket zu installieren python3-gdbm

sudo apt-get install python3-gdbm
0x7c0
quelle
4
Ja, das habe ich getan, aber trotzdem die gleiche Fehlermeldung angezeigt.
Asogwa Chukwuemeka Martins
Dies liegt daran, dass es kein Modul gdbmmehr mit dem Namen gibt. Verwenden Sie _gdbm.
Matthias Urlichs
5

Ich habe Python 3.6 installiert und arbeite ich habe viele Dinge aber versucht

sudo apt-get install python3.6-gdbm

Dieser Befehl hat bei mir funktioniert

Vishal Patel
quelle
2

Ich hatte das gleiche Problem und habe es gelöst durch:

sudo apt install python3-gdbm=3.5.1-1
dpkg -L python3-gdbm

Das Ausführen von synaptic für etwas anderes hat gezeigt, dass python3-gdbm ein Update benötigt. Ich erlaubte synaptic das Update zu machen und: Jetzt bekomme ich das gleiche Problem zurück.

Wenn ich die obigen Befehle erneut ausführe, erhalte ich im Terminal die Nachricht für den ersten Befehl: Die folgenden Pakete werden DOWNGRADED: python3-gdbm. Nachdem ich die Frage mit "Ja" beantwortet habe, funktioniert der Traceback wieder.

In der neuesten Version von python3-gdbm ist also eindeutig ein Fehler aufgetreten.

defossez
quelle
das hat bei mir geklappt!
wolfgang
1
sudo apt install python3-django

half mir

zxdc
quelle
4
Hallo zxdc, vielleicht möchtest du deine Antwort erklären. Installiert die Installation von django auch gdbm irgendwie?
Hee Jin
1

Abhängig von der Python-Version, die Sie kürzlich installiert haben, EINE der folgenden Möglichkeiten :

sudo apt-get install python3.5-gdbm
sudo apt-get install python3.6-gdbm
sudo apt-get install python3.7-gdbm
versehentlich gegebenfuck
quelle
0

Ich hatte diesen Fehler, als ich vergessen hatte, eine virtuelle Python-Umgebung zu aktivieren, die mit dem Befehl verwendet wurde, den ich ausführen wollte (der Befehl tx in meinem Fall).

Orienteerix
quelle