it-swarm.com.de

Kein Modul mit dem Namen pkg_resources

Ich stelle eine Django-App auf einem Dev-Server bereit und treffe diesen Fehler, wenn ich pip install Requirements.txt ausführt:

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_resources scheint mit setuptools verteilt zu sein. Anfangs dachte ich, dass dies möglicherweise nicht auf dem Python in der virtualenv installiert ist. Daher installierte ich setuptools (2.6, dieselbe Version wie Python) mit dem folgenden Befehl in die Python-Site-Pakete in der virtualenv

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

BEARBEITEN. Dies geschieht nur innerhalb der virtualenv. Wenn ich eine Konsole außerhalb der virtuellen Umgebung öffne, ist pkg_resources vorhanden

aber ich bekomme immer noch den gleichen fehler. Irgendwelche Ideen, warum pkg_resources nicht auf dem Pfad ist?

375
igniteflow

Juli 2018 Update 

Die meisten Leute sollten jetzt pip install setuptools (möglicherweise mit Sudo) verwenden.

Einige müssen möglicherweise das python-setuptools-Paket über ihren Paketmanager (apt-get install, yum install usw.) (erneut) installieren.

Dieses Problem kann in hohem Maße von Ihrem Betriebssystem und der Entwicklungsumgebung abhängig sein. Sehen Sie sich das Erbe/andere Antworten unten an, wenn das oben genannte für Sie nicht funktioniert.

Erklärung

Diese Fehlermeldung wird durch ein fehlendes/defektes Python-Paket setuptools verursacht. Laut Matt M.'s Kommentar und setuptools Ausgabe # 581 ist das Bootstrap-Skript, auf das unten Bezug genommen wird, nicht länger die empfohlene Installationsmethode.

Die Anweisungen zum Bootstrap-Skript bleiben unten, falls es für jeden noch hilfreich ist.

Alte Antwort

Ich habe heute die gleiche ImportError getroffen, als ich versuchte, pip zu benutzen. Irgendwie wurde das Paket setuptools in meiner Python-Umgebung gelöscht.

Um das Problem zu beheben, führen Sie das Setup-Skript für setuptools aus:

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

(Wenn Sie wget nicht installiert haben (z. B. OS X), versuchen Sie es

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

möglicherweise mit Sudo vorangestellt.)

Wenn Sie eine Version von distribute oder eine setuptools unter 0,6 haben, müssen Sie diese zuerst deinstallieren. *

Siehe Installationsanweisungen für weitere Details.


* Wenn Sie bereits über eine distribute-Funktion verfügen, ist ein Upgrade auf den "Kompatibilitäts-Wrapper", der Sie auf setuptools schaltet, einfacher. Aber wenn die Dinge bereits kaputt sind, versuchen Sie es nicht.

566
cwc
Sudo apt-get install --reinstall python-pkg-resources

hat es für mich in Debian behoben. Die Deinstallation einiger .deb-Pakete (in meinem Fall verdrehter Satz) hat den Pfad, den Python zum Suchen von Paketen verwendet, beschädigt 

103
Marek

Ich habe diesen Fehler beim Versuch gesehen, Rhodecode in einem virtualenv auf Ubuntu 13.10 zu installieren. Für mich war die Lösung zu laufen 

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

bevor ich easy_install Rhodecode starte.

44
Ali Akdurak

Es ist mir auch passiert. Ich denke, das Problem wird auftreten, wenn die Anforderungen.txt einen "verteilen" -Eintrag enthält, während virtualenv setuptools verwendet. Pip wird versuchen, Setuptools zu patchen, um Platz für die Verteilung zu schaffen, aber leider wird es auf halbem Weg versagen.

Die einfache Lösung besteht darin, Ihre aktuelle Virtualenv zu löschen und dann eine neue Virtualenv mit dem Argument --distribute zu erstellen.

Ein Beispiel für die Verwendung von Virtualenvwrapper:

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

In CentOS 6 wurde das Paket von python-setuptools installiert.

yum install python-setuptools
15
Paul

Ich hatte diesen Fehler früher und die Antwort mit der höchsten Bewertung gab mir einen Fehler beim Herunterladen der ez_setup.py-Datei. Ich habe eine andere Quelle gefunden, damit Sie den Befehl ausführen können:

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

Ich habe festgestellt, dass ich auch Sudo verwenden musste, damit es funktioniert. Daher müssen Sie möglicherweise Folgendes ausführen:

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

Ich habe auch einen anderen Speicherort erstellt, von dem das Skript heruntergeladen werden kann:

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

14
ajtrichards

Benötigte etwas mehr Sudo. Dann benutzte easy_install, um pip zu installieren. Arbeitet.

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

Nachdem ich einige dieser Antworten ausprobiert und dann einen Kollegen angesprochen hatte, funktionierte für mich auf Ubuntu 16.04 Folgendes:

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

In meinem Fall hatte nur eine alte Version von Kissen 3.1.1 Probleme (Kissen 4.x hat gut funktioniert), und das ist jetzt behoben!

6
ptim

Ich habe den Fehler mit virtualenv folgendermaßen behoben:

Pkg_resources.py von kopiert 

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

zu 

/Library/Python/2.7/site-packages/

Dies ist zwar eine billige Abhilfe, aber es hat für mich funktioniert.

.

Wenn keine Setup-Tools vorhanden sind, können Sie versuchen, System-Site-Pakete zu installieren, indem Sie virtualenv --system-site-packages /DESTINATION DIRECTORY eingeben und den letzten Teil in das Verzeichnis ändern, in dem Sie installieren möchten. pkg_rousources.py befindet sich in diesem Verzeichnis in lib/python2.7/site-packages

5
mrgnw

Für mich wurde dieser Fehler verursacht, weil ich ein Unterverzeichnis namens "site" hatte! Ich weiß nicht, ob es sich dabei um einen Pip-Bug handelt oder nicht, aber ich begann mit:

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

pip install -r Requirements.txt würde nicht funktionieren und gab mir den obigen Fehler!

das Umbenennen des Unterordners von "Site" in "src" hat das Problem behoben! Vielleicht sucht pip nach "site-packages"? Verrückt.

3
jdg

Sieht aus, als hätten sie sich von bitbucket entfernt und sind jetzt auf github ( https://github.com/pypa/setuptools )

Der auszuführende Befehl lautet:

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

Ich hatte dieses Problem, als ich meine Virtualenv als anderen Benutzer aktiviert hatte als den, der sie erstellt hat. Es scheint ein Erlaubnisproblem zu sein. Ich entdeckte dies, als ich die Antwort von @cwc ausprobierte und dies in der Ausgabe sah: 

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

Der Wechsel zu dem Benutzer, der die Virtualenv erstellt hat, wurde ausgeführt, und der ursprüngliche pip install-Befehl konnte ohne Probleme ausgeführt werden. Hoffe das hilft!

2

Für mich stellte sich heraus, dass dies ein Berechtigungsproblem auf site-packages war. Da es nur meine Entwicklerumgebung ist, habe ich die Berechtigungen erhöht und alles funktioniert wieder:

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

Ich hatte dieses Problem auch heute. Ich habe das Problem nur in der virtuellen Umgebung gefunden. 

Die Lösung für mich bestand darin, die virtuelle Umgebung zu deaktivieren, virtualenv mit pip zu löschen und anschließend zu deinstallieren und neu zu installieren. Danach erstellte ich eine neue virtuelle Umgebung für mein Projekt, und Pip funktionierte sowohl in der virtuellen als auch in der normalen Umgebung.

2
arno_v

Wenn dieses Problem bei einer Anwendung auftritt, die über conda installiert wurde, besteht die Lösung (wie in diesem Fehlerbericht angegeben) darin, Setup-Tools einfach zu installieren:

conda install setuptools
2
Gabriel

Anscheinend vermisst man Setuptools. Einige Virtualenv-Versionen verwenden standardmäßig distribute anstelle von setuptools. Verwenden Sie die --setuptools-Option, wenn Sie die virtualenv erstellen, oder legen Sie den VIRTUALENV_SETUPTOOLS=1 in Ihrer Umgebung fest.

1
Danilo Bargen

Wenn Sie Python 3 verwenden, sollten Sie pip3 anstelle von pip verwenden. Der Befehl sieht aus wie $ pip3 install requirements.txt

0
user3266968

Dieser Fehler ist in meiner Google App Engine-Umgebung aufgetreten. Und pip install -t lib setuptools hat das Problem behoben.

0
Murat Çorlu

Ich hatte das gleiche Problem, als ich pip für python 2.7.14 mit easy-install installierte. Für mich war die Lösung (möglicherweise nicht die beste, aber für mich funktionierte, und dies ist wahrscheinlich die einfachste), dass der Ordner, der den easy-install.py enthielt, auch einen Ordner pkg_resources enthielt, und ich habe diesen Ordner in den gleichen Ordner kopiert, in den er eingefügt wurde Mein pip-script.py-Skript lautete (python27\Scripts) . Seitdem ich es auch im python27\Lib\site-packages\pip-9.0.1-py2.7.Egg\pip\_vendor-Ordner gefunden habe, könnte es eine bessere Lösung sein, die pip-script.py-Datei zu ändern, um diese zu importieren.

0
B Kasza

yum -y install python-setuptools

ich konfiguriere das Ceph. Es gibt ein Problem. Ausführen des Befehls "$ ceph-deploy new node1", und ich führe den Befehl "$ yum -y install python-setuptools", aus. Dann ist das Problem weg. Danke

0
Lucas

In Openuse 42.1 wurde das Problem behoben:

zypper in python-Pygments
0
David Hamner

Ich verwende CentOS 6.7, und mein Python war gerade ein Upgrade von 2.6.6 auf 2.7.11, nachdem ich so viele verschiedene Antworten ausprobiert hatte, schließlich erledigt der folgende die Aufgabe:

Sudo yum install python-devel

Hoffe, hilf jemand in derselben Situation.

0
shellbye

In meinem Fall hatte ich zunächst 2 Python-Versionen installiert und später hatte ich die ältere Version gelöscht. Also beim Erstellen der virtuellen Umgebung

virtualenv venv

bezog sich auf den deinstallierten Python

Was hat bei mir funktioniert? 

python3 -m virtualenv venv

Gleiches gilt, wenn Sie Pip verwenden möchten. 

Nach dem Update meines Ubuntu-Builds bin ich auf dieses Problem gestoßen. Es scheint, dass Setup-Tools in all meinen virtuellen Umgebungen durchlaufen und entfernt wurden.

Zur Abhilfe installierte ich die virtuelle Umgebung wieder im Zielverzeichnis. Dies beseitigte die fehlenden Setup-Tools und brachte die Dinge wieder zum Laufen.

z.B.:

~/RepoDir/TestProject$ virtualenv TestEnvironmentDir
0
Steve D.

ImportError: Kein Modul mit dem Namen pkg_resources: Die Lösung ist, Python Pip mit dem folgenden Befehl neu zu installieren.

Schritt: 1 Login in root-Benutzer.

Sudo su root

Schritt: 2 Deinstallieren Sie das Python-Pip-Paket, falls vorhanden.

apt-get purge -y python-pip

Schritt: 3 Dateien mit dem Befehl wget herunterladen (Dateidownload in pwd)

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

Schritt: 4 Python-Datei ausführen.

python ./get-pip.py

Schritt: 5 Endgültiger Installationsbefehl. 

apt-get install python-pip

Hinweis: Benutzer muss root sein.

0
Tukadiya Ramesh

Unter Windows installierte ich pip, das von www.lfd.uci.edu/~gohlke/pythonlibs/ heruntergeladen wurde, dann kam es zu diesem Problem. 

Ich hätte also zuerst setuptools (easy_install) installieren sollen.

0
metaphy

Ich bin auf diese Antwort gestoßen, als ich versuchte zu folgen diese Anleitung für OSX . Was für mich funktioniert hat, war nach dem Laufen python get-pip, Ich musste AUCH easy_install pip. Das Problem, dass pip überhaupt nicht ausgeführt werden konnte, wurde behoben. Ich hatte ein paar alte Macport-Sachen installiert. Das könnte widersprüchlich gewesen sein.

0
KitsuneYMG

die einfache Lösung besteht darin, dass Sie conda verwenden können, um setuptools oder die gesamte Umgebung zu aktualisieren. (Speziell für Windows Benutzer.)

conda upgrade -c anaconda setuptools

wenn die Setuptools entfernt werden, müssen Sie die Setuptools erneut installieren.

conda install -c anaconda setuptools

wenn diese Methoden nicht funktionieren, können Sie die Conda-Umgebung aktualisieren. Es wird jedoch nicht empfohlen, einige Pakete neu zu installieren und zu deinstallieren, da dies die Situation verschlimmert.

0
weibin Wang

Keine der geposteten Antworten funktionierte für mich, also habe ich pip neu installiert und es hat funktioniert!

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

Sudo easy_install pip 

pip install --upgrade setuptools

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

0
user13107

Unter Windows mit Python 3.7 hat dies für mich funktioniert:

pip install --upgrade setuptools --user

--user installiert Pakete in Ihrem Home-Verzeichnis, für das keine Administratorrechte erforderlich sind.

0
David Jablonski

Für mich war eine gute Lösung die --no-download-Option für virtualenv (VIRTUALENV_NO_DOWNLOAD=1 tox für tox.).

0
Baczek

installieren Sie einfach Ihre setuptools von:

$ 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

dann wird alles gut.

0
Scott Yang