Hata: psycopg2.extensions adlı modül yok


86

Django projem için bir PostgreSQL veritabanı kurmaya çalışıyorum, bunu son sorumun yanıtları sayesinde yaptığıma inanıyorum . Bir django projesi için postgreSQL veritabanı kuran Problemler . Şimdi localhost'umu yükseltmek için Terminal'de 'python manage.py runserver' komutunu çalıştırmaya çalışıyorum ama komutu çalıştırdığımda bu yanıtı görüyorum ...

Error: No module named psycopg2.extensions

Bunun ne anlama geldiğinden emin değilim - psycopg2'yi indirmeye çalıştım ama homebrew kullanarak psycopg2'yi indirmenin bir yolunu bulamıyorum. Easy_install, pip install ve sudo'yu denedim ama bunun gibi tüm geri dönüş hataları ...

Downloading http://www.psycopg.org/psycopg/tarballs/PSYCOPG-2-4/psycopg2-2.4.5.tar.gz
Processing psycopg2-2.4.5.tar.gz
Writing /tmp/easy_install-l7Qi62/psycopg2-2.4.5/setup.cfg
Running psycopg2-2.4.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l7Qi62/psycopg2-2.4.5/egg-dist-tmp-PBP5Ds
no previously-included directories found matching 'doc/src/_build'
unable to execute gcc-4.0: No such file or directory
error: Setup script exited with error: command 'gcc-4.0' failed with exit status 1

Bunu nasıl düzeltebilirim?


Yüklü bir derleyiciniz yok ve psycopg2 paketini oluşturmak için birine ihtiyacınız var. İşletim sisteminizle ilgili ayrıntılar verebilirseniz, buradaki kişiler muhtemelen size bu konuda yardımcı olabilir.
Ian Clelland

@IanClelland Teşekkürler Ian. Mac OS X 10.6.8 kullanıyorum. Yardımcı olacaksa homebrew kurdum.
Jess

Sağ venv'den ne kullandığınızı kontrol edin.
Alex78191

Yanıtlar:


168

Yapılacak ilk şey, bağımlılıkları kurmaktır.

sudo apt-get build-dep python-psycopg2

Bundan sonra sanal ortamınıza girin ve

pip install psycopg2-binary

Bu iki komut sorunu çözmelidir.


7
Bir daha pip dışında bir şey kullanmayacağımı söylemeliyim, bu çok daha güzel :-)
Harry

11
Python 3 için,sudo apt-get build-dep python3-psycopg2
laike9m

7
Apt ile bağımlılıkları oluşturup pip ile kurmanın ne anlamı var? Tek komutun nesi var sudo apt-get install python-psycopg2? Benim için iyi çalıştı.
kdbanman

2
You must put some 'source' URIs in your sources.listyukarıdaki komutlardan herhangi birini triyng ederken aldım
Revolucion for Monica

2
@ nba2020: sudo apt-get ...? Bunlar, psycopg2-ikili için linux (debian / mint / ubuntu) önkoşullarıdır. Windows veya benzeri bir şey kullanıyorsanız, bunun yerine psycopg2-ikili için Windows önkoşullarını bulmalı ve psycopg2-ikili'yi kurmadan önce bunları uygulamalısınız. Ya da belki (emin değilim) önkoşulları atlayabilir ve psycopg2-ikili yerine psycopg2 kurabilirsiniz ve işe yarayabilir. Bununla birlikte, psycopg2 (-binary olmadan) kullanımdan kaldırılmıştır, bu nedenle psycopg2-ikili dosyasını doğru şekilde kurmayı denerseniz daha iyi olacaktır.
mirek

26
pip install psycopg2-binary

Psycopg2 tekerlek paketi 2.8 sürümünden itibaren yeniden adlandırılacaktır; ikiliden yüklemeye devam etmek için lütfen bunun yerine "pip install psycopg2-ikili" kullanın. Ayrıntılar için bkz: http://initd.org/psycopg/docs/install.html#binary-install-from-pypi .


Bu benim için ubuntu 18.04 ve python 3'te çalışıyor. Teşekkürler.
Danniel Little

Bu benim için çalışıyor ve ayrıca herhangi bir kök izni gerektirmiyor
Gianpaolo

Yardımcı olmasına sevindim. ^ _ ^
Charlie 木匠

1
Bu bana yeterince yardımcı olmuyor. Tarihte bir yere psycopg2'yi ve sonrasını (: -r requirements.txt'den) düzgün bir şekilde psycopg2-binary'yi kurdum. Her şey "iyi" çalıştı. Ancak psycopg2'yi (ikili olmadan) kaldırdıktan sonra "psycopg2.extensions adlı modül yok" hatasını aldım. Psycopg2-ikili dosyasını kaldırmak / yüklemek bana yardımcı olmuyor. Benim için önkoşullar yüklenmemişti (bkz. @FernandoMunoz cevap: apt install build-dep python-psycopg2). Bu Debian paketlerini ve daha sonra (!) Psycopg2-ikili dosyasını kurmak bana yardımcı oldu.
mirek

@mirek Tamamlayıcı için teşekkürler.
Charlie 木匠

6

İçin Django 2ve python 3yüklemek psycopg2kullanarak pip3:

pip3 install psycopg2

psycopg2-binarybunun yerine kaynak yüklemeden
Ivan Gonzalez

5

Bu komutları kullanarak başarıyla kurdum:

sudo apt-get install libpq-dev python-dev
pip install psycopg2

5

İçin macOS Mojavesadece koşmak pip install psycopg2-binary. Benim için iyi çalışıyor, python sürümü ->Python 3.7.2



4

Python'unuz Ubuntu yükleyiciden yüklüyse, Ubuntu'da bana yardımcı olan şey buydu. Başarısız bir şekilde 'apt-get install' ve 'pip install' denedikten sonra bunu yaptım:

Terminalde:

sudo synaptic

sonra sinaptik arama alanına yaz

psycopg2

Seç

python-psycopg2

farenin sağ tuşunu kullanarak kurulum için işaretleyin ve 'uygula'ya basın. Elbette, sinaptik kurmadıysanız, önce şunları yapın:

sudo apt-get install synaptic

2

Python 3.4'te, sanal bir ortamdayken, önce derleme bağımlılıklarına sahip olduğunuzdan emin olun:

sudo apt-get build-dep python3-psycopg2

Ardından kurun:

pip install psycopg2 

E: You must put some 'source' URIs in your sources.list
Cerin

2

Alpine Linux'ta (docker container'larının çoğu) şunları yapın:

apk add postgresql-dev

Sonra:

pip install psycopg2-binary

1

Uzantıyı yalnızca psycopg2'yi içe aktardıktan sonra kullandım:

import psycopg2

...

psycopg2.extensions.AsIs(anap[i])

@fp Cevabınız için teşekkürler. Psycopg2'yi nasıl içe aktardınız? Homebrew kullandın mı? Terminalimde 'import psycopg2' komutunu çalıştırmayı denedim ancak 'ImportError: psycopg2 adlı modül yok' döndürüyor.
Jess

Derlemeden kuruluma hazır olduğu yerde ubuntu kullanıyorum .. Gösterilen örnek python'da. Windows'a kurmak için stickpeople.com/projects/python/win-psycopg adresine bakın. İstediğiniz ilk önce onu kurmaktır .
fp

@fp Teşekkürler. Mac kullanıyorum - Mac için benzer bir çözüm var mı?
Jess,

@fb Teşekkürler. Bir deneyeceğim :)
Jess

1

Görünüşe göre ihtiyacın var gcc-4.0 ve işletim sistemi türünüzü ve sürümünüzü belirtmeniz faydalı olacaktır.

Belki bu soru size biraz yardımcı olacaktır: Xcode'u yüklemeden GCC'yi Mac OS X Leopard'a yüklemek

Güncelleme

Ben bir Windows kullanıcısıyım, bu yüzden kurulumunuzu test edemiyorum, ancak hızlı bir google bazı daha fazla bağlantıya işaret etti:


Teşekkür ederim. İşletim sistemim 10.6.8 olduğundan GCC 10.6'yı indirip kurdum. Daha sonra easy_install psycopg2'yi çalıştırdım ancak bu hatayı döndürdü ... "'doc / src / _build' ile eşleşen daha önce dahil edilmiş hiçbir dizin bulunamadı gcc-4.0'ı yürütemiyor: Böyle bir dosya veya dizin yok hatası: Kurulum betiğinden hata: command ile çıkıldı ' gcc-4.0 ', 1 "çıkış durumu ile başarısız oldu. Bunun neden olabileceğini biliyor musunuz?
Jess

1

Mavericks (10.9) çalıştıran bir Mac'te çalışmaya No module named psycopg2.extensionsçalışırken hatayla karşılaştım pip2 install psycopg2. Yığın izlememin gcc hakkında bir mesaj içerdiğini sanmıyorum ve ayrıca bir ipucu içeriyor:

Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

Ben aradım pg_configdosya benim Postgres yüklemek ve benim yoluna içinde bulunduğu klasörü eklendi: /Applications/Postgres.app/Contents/Versions/9.4/bin. Yolunuz farklı olabilir, özellikle de farklı bir Postgres sürümüne sahipseniz, bin/klasörü bulana kadar etrafta dolanıp dururdum . Bunu yaptıktan sonra kurulum çalıştı.


1

şunu deneyin:
sudo pip install -i https://testpypi.python.org/pypi psycopg2 == 2.7b2
.. bu özellikle yumurta hatasıyla karşılaşıyorsanız faydalıdır

aws ec2 örneklerinde gcc hatasıyla karşılaşırsanız; bunu deneyin
1. sudo yum install gcc python-setuptools python-devel postgresql-devel
2. sudo su -
3. sudo pip install psycopg2



1

Python betiğini sudo olarak çalıştırmaya çalışırken böyle bir sorun yaşadım, psycopg2 ise pip3 aracılığıyla kendi kullanıcı dizinime yüklendi.

Pip3 sürümünü kaldırıp apt aracılığıyla kurarak sorunu kendim çözmeyi başardım:

pip3 uninstall psycopg2
sudo apt install python3-psycopg2


0

Psycopg2 kurup kurmadığınızı kontrol edin

sudo apt-get install psycopg2

Bağımlılıkları yükleyin.

sudo apt-get build-dep python-psycopg2

Bu iki komut sorunu çözmelidir.


0
pip3 install django-psycopg2-extension

Geç kaldığımı biliyorum ve burada sorunu çözen pek çok yanıt var. Ama bugün ben de bu sorunla karşılaştım ve bunların hiçbiri bana yardımcı olmuyor. Sonra sorunumu çözen yukarıdaki sihirli komutu buldum :-P. bu yüzden sizin için de olabileceği gibi bunu gönderiyorum.
Mutlu kodlamalar.

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.