47 votes

Aucun module nommé 'gdbm'

Je viens de terminer l'installation de Python 3.5.1 sur mon Ubuntu, mais je suis confronté à ce message d'erreur, que ce soit lors de l'installation avec Anaconda ou avec apt-get:

No module named 'gdbm'

qui s'affiche normalement dans mon terminal. J'ai également essayé d'installer gdbm en utilisant:

sudo apt-get install gdbm

mais cela ne résout pas le problème. Est-ce que quelqu'un pourrait m'aider à résoudre ce problème ?

60voto

Klesun Points 720
sudo apt-get install python3.5-gdbm

m'a aidé

35voto

Chev_603 Points 1606

Dans mon cas, si j'essayais d'exécuter n'importe quelle commande qui n'existe pas dans un shell bash, je recevrais cette erreur dégoûtante :

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

Pendant le traitement de l'exception ci-dessus, une autre exception s'est produite :

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) + ', veuillez installer le paquet python3-gdbm')
ImportError: No module named '_gdbm', veuillez installer le paquet python3-gdbm

Pendant le traitement de l'exception ci-dessus, une autre exception s'est produite :

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'

Aucune des réponses ci-dessus n'a fonctionné dans mon cas. Bien que ce problème ait été résolu, cela pourrait aider quelqu'un. Si vous avez toujours ce problème, peut-être que ceci aidera :

J'avais installé python3.6 à partir du dépôt ppa.launchpad.net/jonathonf/python-3.6/ubuntu, et apparemment cela a causé des problèmes.

En essayant de réinstaller les paquets command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller, j'ai remarqué que apt récupérait des sources d'ici :

Obtention :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]

Pour corriger le problème, j'ai simplement supprimé ce dépôt :

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

Et ensuite j'ai relancé cette commande (en tant que superutilisateur) :

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

Maintenant, tout fonctionne à nouveau :

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

9voto

squareborg Points 9837

Avez-vous essayé d'installer le package python3-gdbm

sudo apt-get install python3-gdbm

8voto

user1857492 Points 597

En fonction de la version de Python que vous avez récemment installée, UNIQUEMENT l'une des options suivantes :

sudo apt-get install python3.5-gdbm
sudo apt-get install python3.6-gdbm
sudo apt-get install python3.7-gdbm

6voto

Vishal Patel Points 171

J'ai installé et je fais fonctionner Python 3.6, j'ai essayé beaucoup de choses mais

sudo apt-get install python3.6-gdbm

Cette commande a fonctionné pour moi

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X