Ich stelle eine Django-App auf einem Entwicklungsserver bereit und stelle diesen Fehler beim Ausführen fest 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_resources
scheint verteilt zu sein mit setuptools
. Anfangs dachte ich, dass dies möglicherweise nicht auf Python in der virtuellen Umgebung installiert ist, also installierte ich setuptools 2.6
(dieselbe Version wie Python) auf den Python-Site-Paketen in der virtuellen Umgebung mit dem folgenden Befehl:
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 virtuellen Umgebung. Wenn ich eine Konsole außerhalb der virtuellen Umgebung öffne, pkg_resources
ist diese vorhanden, es wird jedoch immer noch der gleiche Fehler angezeigt .
Irgendwelche Ideen, warum pkg_resources
nicht auf dem Weg ist?
python
django
virtualenv
setuptools
pip
Zündstrom
quelle
quelle
pip uninstall -y setuptools
undpip install setuptools==39.1.0
arbeitete dann für mich an Anaconda unter Windows 10.Antworten:
Juli 2018 Update
Die meisten Leute sollten jetzt
pip install setuptools
(möglicherweise mitsudo
) verwenden.Einige müssen (wieder) das
python-setuptools
Installationspaket über ihren Paket - Manager (apt-get install
,yum install
usw.).Dieses Problem kann stark von Ihrem Betriebssystem und Ihrer Entwicklungsumgebung abhängen. Sehen Sie sich das Erbe / andere Antworten unten an, wenn das oben Gesagte für Sie nicht funktioniert.
Erläuterung
Diese Fehlermeldung wird durch ein fehlendes / defektes Python-
setuptools
Paket verursacht. Gemäß Matt Ms Kommentar und Setuptools-Problem Nr. 581 ist das unten genannte Bootstrap-Skript nicht mehr die empfohlene Installationsmethode.Die Anweisungen für das Bootstrap-Skript bleiben unten, falls es für irgendjemanden noch hilfreich ist.
Legacy-Antwort
Ich bin
ImportError
heute dem gleichen begegnet, als ich versucht habe, pip zu benutzen. Irgendwie wurde dassetuptools
Paket in meiner Python-Umgebung gelöscht.Führen Sie das Setup-Skript aus, um das Problem zu beheben für
setuptools
:(oder wenn Sie nicht
wget
installiert haben (z. B. OS X), versuchen Sie esmöglicherweise mit
sudo
vorangestelltem.)Wenn Sie eine Version von
distribute
odersetuptools
unter 0.6 haben, müssen Sie diese zuerst deinstallieren. *Weitere Informationen finden Sie in der Installationsanleitung .
* Wenn Sie bereits arbeiten
distribute
,setuptools
ist es einfacher , ein Upgrade auf den "Kompatibilitäts-Wrapper" durchzuführen, zu dem Sie wechseln. Aber wenn die Dinge schon kaputt sind, versuchen Sie das nicht.quelle
sudo python
durch YMMV gelaufen.easy_install pip
Pip wieder zum Laufen gebracht. Mein Problem trat auf, als Cygwin Python hinter meinem Rücken von 2.6 auf 2.7 aktualisierte, während ich etwas anderes installierte.distribute
ist sie veraltet undsetuptools
ihr Nachfolger. Ich werde die Antwort bearbeiten, um sie zu aktualisieren, aber ich bin nicht sicher, ob dies der beste Weg ist, damit jemand die Bearbeitung zurücksetzen kann. In diesem Fall: Gehen Sie hier .sudo
, wie @Nik oben erwähnt?hat es für mich in Debian behoben. Die Deinstallation einiger .deb-Pakete (in meinem Fall Twisted Set) scheint den Pfad gebrochen zu haben, den Python zum Suchen von Paketen verwendet
quelle
Ich habe diesen Fehler beim Versuch gesehen, Rhodecode auf einer virtuellen Umgebung unter Ubuntu 13.10 zu installieren. Für mich war die Lösung zu laufen
bevor ich easy_install rhodecode starte.
quelle
pip install --upgrade setuptools
allein hat den Trick für mich getan.pip install --upgrade setuptools --user
pip install --upgrade setuptools
wegen des gleichen Fehlers nicht laufen :No module named pkg_resources
pip install --upgrade distribute
hat den Job bei der Verwendung des venv-Moduls von Python 3 gemacht. Das von Python 2 unterstützte--distribute
Flag virtualenv muss jedoch indistribute
Umgebungen installiert werden, die von erstellt wurdenvenv
.Es ist mir auch passiert. Ich denke, das Problem wird auftreten, wenn die Anforderung.txt einen "Verteilen" -Eintrag enthält, während die virtuelle Umgebung setuptools verwendet. Pip wird versuchen, Setuptools zu patchen, um Platz für die Verteilung zu schaffen, aber leider wird es auf halbem Weg fehlschlagen.
Die einfache Lösung besteht darin, Ihre aktuelle virtuelle Umgebung zu löschen und dann eine neue virtuelle Umgebung mit dem Argument --distribute zu erstellen.
Ein Beispiel für die Verwendung von virtualenvwrapper:
quelle
pip install -U distribute
nach dem Aktivieren der Umgebung aus.In CentOS 6 wurde die Installation des Pakets python-setuptools behoben.
quelle
sudo apt-get install python3-setuptools
sudo yum reinstall python-setuptools
behoben.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:Ich habe festgestellt, dass ich es auch verwenden musste,
sudo
um es zum Laufen zu bringen, sodass Sie möglicherweise Folgendes ausführen müssen:Ich habe auch einen anderen Speicherort erstellt, von dem das Skript heruntergeladen werden kann:
https://gist.github.com/ajtrichards/42e73562a89edb1039f3
quelle
curl http://peak.telecommunity.com/dist/ez_setup.py | sudo python
Nachdem ich einige dieser Antworten ausprobiert und mich dann an einen Kollegen gewandt hatte, funktionierte für mich unter Ubuntu 16.04 Folgendes:
In meinem Fall hatte nur eine alte Version von Kissen 3.1.1 Probleme (Kissen 4.x funktionierte einwandfrei), und das ist jetzt behoben!
quelle
Benötigte ein bisschen mehr Sudo. Verwenden Sie dann easy_install, um pip zu installieren. Funktioniert.
quelle
sudo
sollte nicht in einem virtualenvIch habe den Fehler mit virtualenv folgendermaßen behoben:
Kopiert pkg_resources.py von
/Library/Python/2.7/site-packages/setuptools
zu
/Library/Python/2.7/site-packages/
Dies mag eine billige Problemumgehung sein, aber es hat bei mir funktioniert.
.
Wenn keine Setup-Tools vorhanden sind, können Sie versuchen, System-Site-Pakete
virtualenv --system-site-packages /DESTINATION DIRECTORY
zu installieren, indem Sie Folgendes eingeben und den letzten Teil in das Verzeichnis ändern, in das Sie installieren möchten.pkg_rousources.py
befindet sich unter diesem Verzeichnis in lib / python2.7 / site-packagesquelle
Für mich wurde dieser Fehler verursacht, weil ich ein Unterverzeichnis namens "site" hatte! Ich weiß nicht, ob dies ein Pip-Fehler ist oder nicht, aber ich begann mit:
/some/dir/requirements.txt / some / dir / site /
pip install -r require.txt würde nicht funktionieren und mir den obigen Fehler geben!
Das Umbenennen des Unterordners von "site" in "src" hat das Problem behoben! Vielleicht sucht pip nach "Site-Paketen"? Verrückt.
quelle
Ich hatte dieses Problem, als ich meine virtuelle Umgebung als einen anderen Benutzer als den, der sie erstellt hat, aktiviert hatte. Es scheint ein Berechtigungsproblem zu sein. Ich habe dies entdeckt, als ich die Antwort von @cwc ausprobiert und dies in der Ausgabe gesehen habe:
Das Zurückschalten zu dem Benutzer, der die virtuelle Umgebung erstellt hat, und das Ausführen des ursprünglichen
pip install
Befehls verliefen problemlos. Hoffe das hilft!quelle
Ich hatte dieses Problem auch heute. Ich habe das Problem nur in der virtuellen Umgebung.
Die Lösung für mich bestand darin, die virtuelle Umgebung zu deaktivieren, virtualenv mit pip zu löschen, zu deinstallieren und neu zu installieren. Danach habe ich eine neue virtuelle Umgebung für mein Projekt erstellt, und dann hat pip sowohl in der virtuellen Umgebung als auch in der normalen Umgebung einwandfrei funktioniert.
quelle
Sieht so aus, als wären sie von Bitbucket weggezogen und befinden sich jetzt auf Github ( https://github.com/pypa/setuptools) ).
Der auszuführende Befehl lautet:
quelle
Für mich stellte sich heraus, dass es sich um ein Berechtigungsproblem handelte
site-packages
. Da es nur meine Entwicklungsumgebung ist, habe ich die Berechtigungen erhöht und alles funktioniert wieder:quelle
Wenn Sie auf dieses Problem mit einer über conda installierten Anwendung stoßen , besteht die Lösung (wie in diesem Fehlerbericht angegeben) einfach darin, Setup-Tools zu installieren mit:
quelle
Unter Windows mit Python 3.7 funktionierte dies für mich:
--user
Installiert Pakete in Ihrem Home-Verzeichnis, für das keine Administratorrechte erforderlich sind.quelle
Die einfache Lösung ist, dass Sie Conda verwenden können, um Setuptools oder die gesamte Umgebung zu aktualisieren. (Speziell für Windows-Benutzer.)
Wenn die Setuptools entfernt werden, müssen Sie Setuptools erneut installieren.
Wenn diese Methoden nicht funktionieren, können Sie die Conda-Umgebung aktualisieren. Ich empfehle jedoch nicht, einige Pakete neu zu installieren und zu deinstallieren, da sich die Situation danach dadurch verschärft.
quelle
Anscheinend fehlen Ihnen Setuptools. Einige virtualenv-Versionen verwenden standardmäßig Distribute anstelle von Setuptools. Verwenden Sie die
--setuptools
Option beim Erstellen der virtuellen Umgebung oder legen Sie dieVIRTUALENV_SETUPTOOLS=1
in Ihrer Umgebung fest.quelle
In meinem Fall hatte ich zunächst 2 Python-Versionen installiert und später die ältere gelöscht. Also beim Erstellen der virtuellen Umgebung
bezog sich auf die deinstallierte Python
Was hat bei mir funktioniert?
Gleiches gilt, wenn Sie versuchen, pip zu verwenden.
quelle
Ich bin auf diese Antwort gestoßen, als ich versucht habe, diesem Handbuch für OSX zu folgen . Was für mich funktionierte war, dass ich nach dem Laufen
python get-pip
AUCH mussteeasy_install pip
. Damit wurde das Problem behoben, dass Pip überhaupt nicht ausgeführt werden konnte. Ich hatte ein paar alte Macport-Sachen installiert. Das könnte in Konflikt geraten sein.quelle
Unter Windows habe ich pip installiert, das von www.lfd.uci.edu/~gohlke/pythonlibs/ heruntergeladen wurde, und bin dann auf dieses Problem gestoßen.
Also hätte ich zuerst setuptools (easy_install) installieren sollen.
quelle
Installieren Sie einfach Ihre
setuptools
durch:dann wird alles gut.
quelle
Ich benutze CentOS 6.7 und mein Python wurde gerade von 2.6.6 auf 2.7.11 aktualisiert, nachdem ich so viele verschiedene Antworten ausprobiert hatte, schließlich erledigt die folgende die Aufgabe:
Hoffe jemandem in der gleichen Situation zu helfen.
quelle
Keine der geposteten Antworten hat bei mir funktioniert, also habe ich pip neu installiert und es hat funktioniert!
(Referenz: http://www.saltycrane.com/blog/2010/02/how-install-pip-ubuntu/ )
quelle
Ich bin auf dieses Problem gestoßen, nachdem ich meinen Ubuntu-Build aktualisiert habe. Es scheint in allen meinen virtuellen Umgebungen Setup-Tools durchlaufen und entfernt zu haben.
Um dies zu beheben, habe ich die virtuelle Umgebung wieder im Zielverzeichnis installiert. Dadurch wurden fehlende Setup-Tools bereinigt und die Dinge wieder zum Laufen gebracht.
z.B:
quelle
Für mich war es eine gute Lösung, die
--no-download
Option für virtualenv (VIRTUALENV_NO_DOWNLOAD=1 tox
für tox.) Zu verwenden.quelle
Bei Opensuse 42.1 wurde dieses Problem durch Folgendes behoben:
quelle
ImportError: Kein Modul mit dem Namen pkg_resources: Die Lösung besteht darin, Python Pip mit dem folgenden Befehl neu zu installieren.
Schritt: 1 Melden Sie sich beim Root-Benutzer an.
Schritt: 2 Deinstallieren Sie das Python-Pip-Paket, falls vorhanden.
Schritt: 3 Laden Sie Dateien mit dem Befehl wget herunter (Datei herunterladen in
pwd
)Schritt: 4 Führen Sie die Python-Datei aus.
Schritt: 5 Beenden Sie den Installationsbefehl.
Hinweis: Der Benutzer muss root sein.
quelle
Ich habe diesen Fehler in meiner Google App Engine-Umgebung festgestellt. Und
pip install -t lib setuptools
das Problem behoben.quelle
Wenn Sie Python 3 verwenden, sollten Sie pip3 anstelle von pip verwenden. Der Befehl sieht aus wie
$ pip3 install requirements.txt
quelle