'Gdbm' adında modül yok


30

Ubuntu'uma python 3.5.1 yüklemeyi yeni bitirdim, ancak Anaconda veya ile yükleyebildiğimden bağımsız olarak bu hata iletisiyle karşılaşıyorum apt-get:

No module named 'gdbm'

normalde terminalimde görüntüleniyor. Ayrıca gdbmkullanarak yüklemeyi denedim :

sudo apt-get install gdbm

ama sorunu çözmez. Bu sorunu buradaki herhangi birinden nasıl çözebileceğim konusunda yardım alabilir miyim?


Merhaba Asogwa, cevabımın altındaki son yorumunuzdan emin değilsiniz; işe aldın mı Lütfen bana haber ver.
Jacob Vlijm

Nasıl kuruluyorsun Anaconda ile mi yoksa başka bir şekilde mi yapıyorsun?
Seanny123

Anaconda'yı henüz yükleyemiyorum çünkü Anaconda'yı ne zaman kurmak istediğimde aynı "hatayı 'gdbm' adında bir modül yok" alıyorum
Asogwa Chukwuemeka Martins

Üzgünüm, hala biraz kafam karıştı. Anaconda Python3 içeren bir pakettir. Yani, Anaconda'yı mı kuruyorsunuz yoksa Python3'ü ayrı mı kuruyorsunuz?
Seanny123

Anaconda'yı yüklüyorum
Asogwa Chukwuemeka Martins,

Yanıtlar:


29
sudo apt-get install python3.5-gdbm

bana yardımcı oldu


4
Tabii ki, aynı desen python 3.6 için de geçerlidir.
SteveJ

Durumda ne yapmalı Unable to locate package python3.6-gdbm? Yeni bir depo eklemeye çalıştım, ancak ilk hata tekrar belirdi.
JCarlos

ve aynı desen python3.7-gdbmbenim için
Grijesh Chauhan

Python 3.6 içinsudo apt-get install python3.6-gdbm
unixeO

28

Benim durumumda, bir bash kabuğunda olmayan herhangi bir komutu çalıştırmayı denersem, bu büyük hatayı alırdım:

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

Yukarıdaki cevapların hiçbiri benim davamda işe yaramadı. Bu problem çözülmüş olmasına rağmen, bu birisine yardımcı olabilir. Hala bu sorunu yaşıyorsanız, belki bu yardımcı olacaktır:

Depodan python3.6 kurmuştum ppa.launchpad.net/jonathonf/python-3.6/ubuntuve görünüşe göre bu bazı şeyleri bozdu.

Paketleri yeniden kurmak için bağlarken apt'nin command-not-found python3-commandnotfound python3-gdbm python3-gdbm-dbg sessioninstallerburadan kaynakları çektiğini fark ettim:

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]

Sorunu düzeltmek için bu depoyu kaldırdım:

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

Ve bu komutu tekrar çalıştırdıktan sonra (root olarak):

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

Şimdi, her şey tekrar çalışıyor:

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

3
Ben sadece 16.04 LTS de aynı vardı. Sanırım cevabınızın zamanlamasına baktığımda ya jonathonf repo'da ya da standart repolarda yeni bir güncellemenin bir çatışması var. Yine de Python versiyonlarım için pyenv'e taşındığımdan beri jonathonf deposundan kurtulmak benim için iyi bir fikir.
Phil

Teşekkürler. İnsanların kaza rapor uygulamasının ateşlendiğini de fark edebilecekleri bir not çünkü command-not-foundbaşarısız oluyor.
jamesc

2
Aynı problem vardı ve bu çözüm işe yaradı. Aynı zamanda, python3.6 -m venvbenim için kırıldı. Deadsnakes deposunda değişiklik yapmak tüm sorunlarımı çözdü. Ayrıca bakınız stackoverflow.com/a/50197283/7599943
Jonas Dahlbæk

sudo ppa-purge ppa:jonathonf/python-3.6benim için düzeltti (gerekli paketleri otomatik olarak yeniden yükledi).
jfs

9

Paketi yüklemeyi denediniz mi? python3-gdbm

sudo apt-get install python3-gdbm

4
Evet, yaptım ama yine de aynı hata mesajını veriyordum.
Asogwa Chukwuemeka Martins

Bunun nedeni, artık adlandırılmış gdbmbir modül olmamasıdır . Kullanın _gdbm.
Matthias Urlichs

5

Ben python 3.6 yükleme ve çalışma var birçok şey denedim ama

sudo apt-get install python3.6-gdbm

Bu komut benim için çalıştı


2

Aynı sorunu yaşadım ve çözdüm:

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

Sinaptik çalışan, başka bir şey için, python3-gdbm bir güncelleştirme gerekli olduğunu gösterdi. Sinaptik'in güncellemeyi yapmasına izin verdim ve: Şimdi aynı sorunu geri alıyorum.

Yukarıdaki komutları tekrar çalıştırdığımda, terminalde ilk komut için bir mesaj olarak alıyorum: Aşağıdaki paketler İNDİRİLECEKTİR: python3-gdbm. Devam etmek istersem Y sorusunu cevapladıktan sonra geri izleme yeniden çalışıyor.

Bu yüzden açıkça python3-gdbm'nin en son sürümünde yanlış bir hata var.


bu benim için çalıştı!
Wolfgang

1
sudo apt install python3-django

bana yardımcı oldu


4
Merhaba zxdc, cevabınızı açıklamak isteyebilirsiniz. Django yüklemek bir şekilde gdbm de yükler mi?
Hee Jin,

1

Son yüklediğiniz python sürümüne bağlı olarak , aşağıdakilerden BİRİ :

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

0

Çalıştırmaya çalıştığım komutla kullanılan bir Python sanal ortamını etkinleştirmeyi unuttuğumda bu hatayı aldım (Benim durumumda tx komutu).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.