Pkg_resources adlı modül yok


452

Bir dev sunucusuna bir Django uygulaması dağıtıyorum ve çalıştırdığımda bu hatayı vuruyorum pip install -r requirements.txt:

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

pkg_resourcesile dağıtılmış gibi görünüyor setuptools. Başlangıçta bunun virtualenv'deki Python'a yüklenmeyebileceğini düşündüm, bu yüzden setuptools 2.6aşağıdaki komutla virtualenv'deki Python site paketlerine (Python ile aynı sürüm) yükledim :

sh setuptools-0.6c11-py2.6.egg --install-dir /var/www/mydir/virtualenvs/dev/lib/python2.6/site-packages

DÜZENLEME: Bu yalnızca sanal arayüz içerisinde gerçekleşir. Virtualenv dışında bir konsol açarsam pkg_resourcesmevcut, ancak yine de aynı hatayı alıyorum.

Neden pkg_resourcesyolda olmadığına dair herhangi bir fikir var mı?


Nltk'yi yüklerken aynı sorun olur.İyi soru ve yardımcı cevap
laike9m

4
pip uninstall -y setuptoolsve sonra pip install setuptools==39.1.0Windows 10'da Anaconda'da çalıştı.
Ryan

1
@Ryan benim için Ubuntu 16.04'te de çalıştı, teşekkür ederim efendim!
ElectRocnic

Yanıtlar:


634

Temmuz 2018 Güncellemesi

Çoğu insan şimdi pip install setuptools(muhtemelen ile sudo) kullanmalıdır .

Bazı (yeniden) yüklemeniz gerekebilir python-setuptoolskendi paket yöneticisi aracılığı (paket apt-get install, yum installvb.)

Bu sorun büyük ölçüde işletim sisteminize ve geliştirici ortamınıza bağlı olabilir. Yukarıdakiler sizin için çalışmıyorsa aşağıdaki eski / diğer yanıtlara bakın.

açıklama

Bu hata iletisine eksik / bozuk bir Python setuptoolspaketi neden olur. Matt M.'nin yorum ve kurulum araçları sorunu # 581'e göre , aşağıda belirtilen önyükleme komut dosyası artık önerilen kurulum yöntemi değildir.

Önyükleme komut dosyası talimatları, herkes için hala yararlı olması durumunda aşağıda kalacaktır.

Eski Yanıt

ImportErrorBugün aynı şeyi pip kullanmaya çalışırken de karşılaştım . setuptoolsPython ortamımda bir şekilde paket silinmişti.

Sorunu çözmek için aşağıdakiler için kurulum komut dosyasını çalıştırın setuptools:

wget https://bootstrap.pypa.io/ez_setup.py -O - | python

(veya wgetyüklemediyseniz (örn. OS X),

curl https://bootstrap.pypa.io/ez_setup.py | python

büyük olasılıkla sudoyukarıda.)

Herhangi bir sürümüne sahipseniz distributeveya setuptools0.6'dan düşükse, önce kaldırmanız gerekir. *

Daha fazla ayrıntı için Kurulum Talimatlarına bakın.


* Halihazırda bir çalışmanız varsa distribute, bunu size geçiren "uyumluluk paketleyicisine" yükseltmek setuptoolsdaha kolaydır. Ama eğer işler zaten kırılmışsa, bunu denemeyin.


42
Yerel bir komuta boru kıvırmak her zaman beni korkutuyor, ancak bu harika çalışıyor. :) sudo pythonYMMV olsa koşmuştum.
Nik Reiman

4
Cygwin altında python-setuptools paketini kurmak zorunda kaldım . Bu aynı problemi yaşadı easy_install tekrar çalışma var . Sonra easy_install pippip'i tekrar çalıştırıyordum. Sorunum, Cygwin'in ilgisiz bir şey yüklerken Python'u 2.6'dan 2.7'ye arkamdan yükseltmesinden kaynaklandı.
Steve Pitchers

5
Bu geçen sene en iyi yanıttı… ancak 2013 ortası distributeitibariyle eski ve setuptoolshalefi. Cevabı güncellemek için düzenleyeceğim, ancak bunun en iyi yolu olmadığından emin değilim, bu yüzden birisi düzenlemeyi geri alabilir, bu durumda: Buraya gidin .
abarnert

1
Bu URL benim için çalışmadı ama bu işe yaradı: peak.telecommunity.com/dist/ez_setup.py
ajtrichards

1
@Cerin: Denediğinde neler olduğunu söylesen herkes için daha yararlı olur. Ve sudo@Nik'in yukarıda belirtildiği gibi kullandınız mı?
Michael Scheper

125
sudo apt-get install --reinstall python-pkg-resources

Debian'da benim için düzeltti. Bazı .deb paketlerini kaldırmak gibi görünüyor (benim durumumda bükülmüş) python'un paketleri bulmak için kullandığı yolu bozdu


10
Python 3 kullanıyorum, bu yüzden sudo apt-get install --reinstall python3-pkg-resources'i çalıştırmak zorunda kaldım ve bu düzeltildi. Teşekkür ederim!
Robert Townley

Sanırım yapf ile yardımcı olmadı, python3 / python2 ile ilgili bir şey
don parlak

53

Ubuntu 13.10 üzerinde bir virtualenv rhodecode yüklemeye çalışırken bu hatayı gördüm. Benim için çözüm koşmaktı

pip install --upgrade setuptools
pip install --upgrade distribute 

easy_install rhodecode'u çalıştırmadan önce.


12
pip install --upgrade setuptoolssadece benim için hile yaptı.
Ryan Tuck

i neededpip install --upgrade setuptools --user
dfrankow

5
Ben koşamam pip install --upgrade setuptoolsaynı hata nedeniyle:No module named pkg_resources
McLawrence

1
pip install --upgrade distributePython 3'ün venv modülünü kullanırken bu işi yaptı. Python 2'nin virtualenv destekli --distributebayrağı, ancak biri distributetarafından oluşturulan ortamlara yüklemek zorunda venv.
Nirmal

34

Bana da oldu. Virtualenv setuptools kullanırken gereksinimleri.txt bir "dağıt" girişi içeriyorsa sorun olacağını düşünüyorum. Pip, dağıtım için yer açmak için kurulum araçlarını düzeltmeye çalışacak, ancak maalesef yarı yolda başarısız olacak.

Kolay çözüm, şu anki virtualenv'inizi silmek ve sonra --distribute argümanı ile yeni bir virtualenv yapmaktır.

Virtualenvwrapper kullanılıyorsa bir örnek:

$ deactivate
$ rmvirtualenv yourenv
$ mkvirtualenv yourenv --distribute
$ workon yourenv
$ pip install -r requirements.txt

2
diğer çözümlerin hiçbiri yapmadığında bu bana yardımcı oldu (Ubuntu 16.04 kullanarak)
MIkee

Python 3'ün venv modülü tarafından oluşturulan ortamlar için, ortamı pip install -U distributeetkinleştirdikten sonra çalıştırmak işi yapar.
Nirmal

17

CentOS 6'da python-setuptools paketini kurmak sorunu çözdü.

yum install python-setuptools

"Yum" yerine "sudo apt-get" yazdığınızda Debian'da çalışır. Ayrıca: sudo apt-get install python3-setuptools
gridtrak

Bunu benim için yaptı.
Tao Starbow

CentOS 7'de bu sorunu yaşadım ve python-setuptools zaten kuruldu, ancak sudo yum reinstall python-setuptoolsdüzeltildi.
coneslayer


14

Daha önce bu hatayı aldım ve en yüksek puanlı cevap ez_setup.pydosyayı indirmeye çalışırken bana bir hata verdi . Komutu çalıştırabilmeniz için başka bir kaynak buldum:

curl http://peak.telecommunity.com/dist/ez_setup.py | python

sudoÇalıştırmak için de kullanmam gerektiğini buldum , bu yüzden çalıştırmanız gerekebilir:

sudo curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python

Ayrıca komut dosyasının indirilebileceği başka bir konum oluşturdum:

https://gist.github.com/ajtrichards/42e73562a89edb1039f3


" curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
Kıvırmak

1
bu cevap beni "| sudo python" ilavesi ile kurtardı, çünkü "| python" tek başına çalışmadı! Teşekkürler
patti_jane

14

Bu cevaplardan birkaçını denedikten sonra bir iş arkadaşına ulaştıktan sonra Ubuntu 16.04'te benim için işe yarayan şey şuydu:

pip install --force-reinstall -U setuptools
pip install --force-reinstall -U pip

Benim durumumda, sorun olan yastık 3.1.1'in sadece eski bir versiyonuydu (yastık 4.x iyi çalıştı) ve şimdi çözüldü!


8

Biraz daha sudo gerekiyordu. Sonra pip yüklemek için easy_install kullanılır. İşler.

sudo wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python
sudo easy_install pip

1
sudo
sanal

Doğru, ben sadece bir sanalenv olmadan aynı sorunu yaşadım.
Tarion

5

Bunu yaparak virtualenv ile hatayı düzelttim:

Pkg_resources.py kopyalandı

/Library/Python/2.7/site-packages/setuptools

için

/Library/Python/2.7/site-packages/

Bu ucuz bir çözüm olabilir, ama benim için çalıştı.

.

Kurulum araçları yoksa virtualenv --system-site-packages /DESTINATION DIRECTORY, son bölümü yüklemek istediğiniz dizin olacak şekilde değiştirerek sistem-site-paketlerini yüklemeyi deneyebilirsiniz . pkg_rousources.pylib / python2.7 / site-paketleri içindeki dizinin altında olacak


evet bazı projelerde, bu çözümler en iyisidir (benim için)
nguyên

3

Benim için bu hata, "site" adında bir alt dizine sahip olduğum için oluşuyordu! Bu bir pip hata olup olmadığını bilmiyorum, ama ile başladım:

/some/dir/requirements.txt / some / dir / site /

pip install -r gereksinimleri.txt işe yaramadı, bana yukarıdaki hatayı veriyor!

alt klasörü "site" den "src" olarak yeniden adlandırmak sorunu çözdü! Belki de pip "site-paketleri" arıyor? Çılgın.


2

Virtualenv'imi, onu oluşturandan farklı bir kullanıcı olarak etkinleştirdiğimde bu sorunu yaşadım. Bir izin sorunu gibi görünüyor. @Cwc tarafından verilen cevabı denediğimde ve bunu çıktıda gördüğümde keşfettim:

Installing easy_install script to /path/env/bin
error: /path/env/bin/easy_install: Permission denied

Virtualenv'i yaratan kullanıcıya geri dönün, ardından orijinal pip installkomutu çalıştırmak sorunsuz gitti. Bu yardımcı olur umarım!


2

Bu sorunu bugün de yaşadım. Sorunu sadece sanal ortamın içine aldım.

Benim için çözüm, sanal env'yi devre dışı bırakmak, silmek ve daha sonra pip ile virtualenv'i kaldırmak ve yeniden yüklemekti. Bundan sonra projem için yeni bir sanal env oluşturdum, sonra pip normal ortamda olduğu gibi sanal ortamda da iyi çalıştı.


2

Görünüşe göre bitbucket'ten uzaklaştılar ve şimdi github'dalar ( https://github.com/pypa/setuptools )

Çalıştırılacak komut:

wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

"/Python/Python-3.5.1/Lib/urllib/request.py" dosyası, satır 162, urlopen return opener.open (url, veri, zaman aşımı) Dosyası "/python/Python-3.5.1/Lib/urllib /request.py ", satır 465, açık dosyada" /python/Python-3.5.1/Lib/urllib/request.py ", satır 488, _open 'unknown_open' içinde, req) Dosya" /python/Python-3.5 .1 / Lib / urllib / request.py ", satır 443, _call_chain sonucu = işlev (* args)" /python/Python-3.5.1/Lib/urllib/request.py ", satır 1310, bilinmeyen_open yükseltmesi URLError ('bilinmeyen url türü:% s'% tür) urllib.error.URLError: <urlopen hatası bilinmeyen url türü: https>
JDOaktown

2

Benim için bir izin sorunu olduğu ortaya çıktı site-packages. Sadece geliştirme ortamım olduğu için izinleri artırdım ve her şey tekrar çalışıyor:

sudo chmod -R a+rwx /path/to/my/venv/lib/python2.7/site-packages/

2

Conda ile yüklenen bir uygulama ile bu sorunla karşılaşıyorsanız , çözüm ( bu hata raporunda belirtildiği gibi ) basitçe aşağıdakileri içeren kurulum araçlarını yüklemektir:

conda install setuptools

2

Windows'ta, python 3.7 ile bu benim için çalıştı:

pip install --upgrade setuptools --user

--user paketleri ana dizininize yükler ve yönetici ayrıcalıkları gerektirmez.


2

basit çözüm, kurulum araçlarını veya tüm ortamı yükseltmek için conda kullanabilmenizdir. (Özellikle windows kullanıcıları için.)

conda upgrade -c anaconda setuptools

kurulum araçları kaldırılırsa, kurulum araçlarını yeniden yüklemeniz gerekir.

conda install -c anaconda setuptools

tüm bu yöntemler işe yaramazsa, conda ortamını yükseltebilirsiniz. Ancak bazı paketleri yeniden yüklemeniz ve kaldırmanız gerektiğini önermiyorum çünkü bundan sonra durumu daha da kötüleştirecek.


1

Görünüşe göre kurulum araçlarını kaçırıyorsunuz. Bazı virtualenv sürümleri varsayılan olarak setuptools yerine dağıtma kullanır. --setuptoolsVirtualenv oluştururken veya VIRTUALENV_SETUPTOOLS=1ortamınızda ayarlandığında bu seçeneği kullanın .


1

Benim durumumda, başlangıçta 2 python sürümü yükledim ve daha sonra eskisini sildim. Sanal ortam oluştururken

virtualenv venv

kaldırılan pitondan bahsediyordu

Benim için ne işe yaradı

python3 -m virtualenv venv

Pip kullanmaya çalıştığınızda da aynı durum geçerlidir.


0

OSX için bu kılavuzu takip etmeye çalışırken bu cevapla karşılaştım . Benim için işe python get-pipyarayan, koştuktan sonra AYRICA zorunda kalmam gerekti easy_install pip. Bu, pip'i çalıştıramama sorununu çözdü. Ben yaptım yüklü eski macport şeyler bir grup var. Bu çatışmış olabilir.



0

sadece tekrar yükle setuptools:

$ sudo wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefefe74e
$ tar -zxvf setuptools-0.6c11.tar.gz
$ cd setuptools-0.6c11/
$ sudo python setup.py build
$ sudo python setup.py install
$ sudo pip install --upgrade setuptools

o zaman her şey iyi olacak.


0

CentOS 6.7 kullanıyorum ve python'um 2.6.6'dan 2.7.11'e yükseltildi, çok farklı bir cevap denedikten sonra nihayet aşağıdaki işi yapıyor:

sudo yum install python-devel

Umut aynı durumda birine yardım.


0

Gönderilen cevapların hiçbiri benim için çalıştı, bu yüzden pip yeniden yükledim ve işe yaradı!

sudo apt-get install python-setuptools python-dev build-essential 

sudo easy_install pip 

pip install --upgrade setuptools

(referans: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )


Geri izleme (en son çağrı): pkg_resources import load_entry_point'ten <module> dosyasında "/ usr / bin / easy_install" dosyası, satır 5, Import_rror: 'pkg_resources' adlı modül yok
JDOaktown

owner-Dimension-3000 owner # sudo easy_install pip Geri izleme (en son çağrı son): pkg_resources import load_entry_point importError: '/ usr / bin / easy_install ", satır 5, <modül> dosyasında <pkg_resources' import-Dimension adlı modül yok -3000 sahip # pip install --upgrade setuptools Geri izleme (en son çağrı son): pkg_resources import load_entry_point importError'dan "/ usr / bin / pip", satır 5, <module> dosyasında ImportError: 'pkg_resources' owner-Dimension adlı modül yok -3000 sahibi #
JDOaktown

önce kurulu pip sürümünü kaldırdınız mı?
user13107

0

Ubuntu derlememi güncelledikten sonra bu problemle karşılaştım. Tüm sanal ortamlarımdaki kurulum araçlarından geçmiş ve kaldırılmış gibi görünüyor.

Bunu düzeltmek için sanal ortamı hedef dizine yeniden kurdum. Bu, eksik kurulum araçlarını temizledi ve işleri tekrar çalıştırdı.

Örneğin:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir

0

Benim için iyi bir düzeltme --no-downloadvirtualenv ( VIRTUALENV_NO_DOWNLOAD=1 toxtox için) seçeneğini kullanmaktı .


0

Opensuse 42.1'de aşağıdaki sorun giderildi:

zypper in python-Pygments

0

ImportError: pkg_resources adlı bir modül yok: çözüm, aşağıdaki Komutu kullanarak python pip'i yeniden kurmaktır .

Adım: 1 root kullanıcısında oturum açın.

sudo su root

Adım: 2 Varsa python-pip paketini kaldırın.

apt-get purge -y python-pip

Adım: 3 wget komutunu kullanarak dosya indirme (Dosya indirme yeri pwd)

wget https://bootstrap.pypa.io/get-pip.py

Adım: 4 Python dosyasını çalıştırın.

python ./get-pip.py

Adım: 5 Son olarak exicute kurulum komutu.

apt-get install python-pip

Not: Kullanıcı kök olmalıdır.


0

Google App Engine ortamımda bu hatayla karşılaştım. Ve pip install -t lib setuptoolssorunu düzelttim.


0

Python 3 kullanıyorsanız pip yerine pip3 kullanmalısınız. Komut şuna benzer$ pip3 install requirements.txt

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.