Tidak ada modul bernama 'gdbm'

30

Saya baru saja selesai menginstal python 3.5.1 di Ubuntu saya, tetapi saya dihadapkan dengan pesan kesalahan ini, terlepas dari apakah saya menginstal dengan Anaconda atau dengan apt-get:

No module named 'gdbm'

yang biasanya ditampilkan di terminal saya. Saya juga telah mencoba menginstal gdbmmenggunakan:

sudo apt-get install gdbm

tetapi tidak memecahkan masalah. Bisakah saya mendapatkan bantuan tentang cara memperbaiki masalah ini dari siapa pun di sini?

Asogwa Chukwuemeka Martins
sumber
Hai Asogwa, tidak yakin tentang komentar terakhir Anda di bawah jawaban saya; Apakah Anda berhasil? Tolong beritahu saya.
Jacob Vlijm
Bagaimana Anda menginstal? Apakah Anda melakukannya dengan Anaconda atau cara lain?
Seanny123
Saya belum dapat menginstal Anaconda karena ketika saya ingin menginstal Anaconda, saya mendapatkan "error No module"
gdbm
Maaf, saya masih agak bingung. Anaconda adalah paket yang berisi Python3. Jadi, apakah Anda menginstal Anaconda atau Anda menginstal Python3 secara terpisah.
Seanny123
Saya menginstal Anaconda
Asogwa Chukwuemeka Martins

Jawaban:

30
sudo apt-get install python3.5-gdbm

membantuku

Artur Klesun
sumber
4
Tentu saja, pola yang sama berlaku untuk python 3.6.
SteveJ
Apa yang harus dilakukan jika terjadi Unable to locate package python3.6-gdbm? Saya mencoba menambahkan repositori baru, tetapi kesalahan awal muncul lagi.
JCarlos
dan pola yang sama python3.7-gdbmuntuk saya
Grijesh Chauhan
Untuk penggunaan python 3.6sudo apt-get install python3.6-gdbm
unixeO
28

Dalam kasus saya, jika saya mencoba menjalankan setiap perintah yang tidak ada di bash shell saya akan mendapatkan error kotor ini:

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

Tidak ada jawaban di atas yang berfungsi dalam kasus saya. Meskipun masalah ini telah dipecahkan, ini mungkin bisa membantu seseorang. Jika Anda masih mengalami masalah ini, mungkin ini akan membantu:

Saya telah menginstal python3.6 dari repositori ppa.launchpad.net/jonathonf/python-3.6/ubuntu, dan ternyata itu merusak beberapa hal.

Ketika mencoba menginstal ulang paket command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstaller, saya perhatikan bahwa apt sedang menarik sumber dari sini:

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]

Untuk memperbaiki masalah ini, saya cukup menghapus repositori itu:

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

Dan daripada menjalankan kembali perintah ini (sebagai root):

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

Sekarang, semuanya berfungsi lagi:

$ 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
sumber
3
Saya baru saja mengalami hal yang sama pada 16,04 LTS. Saya pikir melihat waktu jawaban Anda pembaruan baru baik di jonathonf repo atau standar repo memiliki konflik. Karena saya sudah pindah ke pyenv untuk versi Python saya, menyingkirkan repositori jonathonf mungkin ide yang bagus untuk saya.
Phil
Terima kasih. Hanya sebuah catatan bahwa orang-orang mungkin juga memerhatikan aplikasi crash report menyala karena command-not-foundgagal.
jamesc
2
Punya masalah yang sama, dan solusi ini berhasil. Pada saat yang sama, python3.6 -m venvrusak untuk saya. Mengubah repositori deadsnakes menyelesaikan semua masalah saya. Lihat juga stackoverflow.com/a/50197283/7599943
Jonas Dahlbæk
sudo ppa-purge ppa:jonathonf/python-3.6memperbaikinya untuk saya (menginstal ulang paket yang diperlukan secara otomatis).
jfs
9

Sudahkah Anda mencoba menginstal paket python3-gdbm

sudo apt-get install python3-gdbm
0x7c0
sumber
4
Ya, saya melakukan itu, tetapi masih memberi saya pesan kesalahan yang sama.
Asogwa Chukwuemeka Martins
Ini karena tidak ada modul bernama gdbmlagi. Gunakan _gdbm.
Matthias Urlichs
5

Saya telah menginstal python 3.6 dan bekerja saya telah mencoba banyak hal tetapi

sudo apt-get install python3.6-gdbm

Perintah ini bekerja untuk saya

Vishal Patel
sumber
2

Saya memiliki masalah yang sama dan menyelesaikannya dengan:

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

menjalankan synaptic, untuk hal lain, ditampilkan bahwa python3-gdbm membutuhkan pembaruan. Saya mengizinkan sinaptik untuk membuat pembaruan dan: Sekarang saya mendapatkan masalah yang sama kembali.

Ketika menjalankan perintah di atas lagi saya mendapatkan sebagai pesan, di terminal, untuk perintah pertama: Paket-paket berikut akan DIPERBARUI: python3-gdbm. Setelah menjawab Y untuk pertanyaan jika saya ingin melanjutkan, traceback berfungsi lagi.

Jadi jelas ada sesuatu yang salah (bug) di versi terbaru python3-gdbm.

defossez
sumber
ini berhasil untuk saya!
wolfgang
1
sudo apt install python3-django

membantuku

zxdc
sumber
4
Hai zxdc, Anda mungkin ingin menjelaskan jawaban Anda. Apakah menginstal Django juga menginstal gdbm?
Hee Jin
1

Bergantung pada versi python yang baru saja Anda instal, SATU dari yang berikut:

sudo apt-get install python3.5-gdbm
sudo apt-get install python3.6-gdbm
sudo apt-get install python3.7-gdbm
secara tidak sengaja diberikan sial
sumber
0

Saya memiliki kesalahan ini ketika saya lupa untuk mengaktifkan lingkungan virtual Python yang digunakan dengan perintah yang saya coba jalankan (Perintah tx dalam kasus saya).

Orienteerix
sumber