Das neueste 'pip' schlägt fehl mit "erfordert setuptools> = 0.8 für dist-info"

81

Bei Verwendung der neuesten (1.5) Version von pipwird beim Versuch, mehrere Pakete zu aktualisieren, eine Fehlermeldung angezeigt. Zum Beispiel sudo pip install -U pytzführt dies zu einem Fehler mit:

Wheel installs require setuptools >= 0.8 for dist-info support.
pip's wheel support requires setuptools >= 0.8 for dist-info support.

Ich verstehe diese Nachricht nicht (ich habe setuptools2.1) oder was ich dagegen tun soll.


Ausnahmeinformationen aus dem Protokoll für diesen Fehler:

Exception information:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 230, in run
    finder = self._build_package_finder(options, index_urls, session)
  File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 185, in _build_package_finder
    session=session,
  File "/Library/Python/2.7/site-packages/pip/index.py", line 50, in __init__
    self.use_wheel = use_wheel
  File "/Library/Python/2.7/site-packages/pip/index.py", line 89, in use_wheel
    raise InstallationError("pip's wheel support requires setuptools >= 0.8 for dist-info support.")
InstallationError: pip's wheel support requires setuptools >= 0.8 for dist-info support.
orome
quelle

Antworten:

148

Das hat bei mir funktioniert:

sudo pip install setuptools --no-use-wheel --upgrade

Beachten Sie, dass sudo verwendet wird

AKTUALISIEREN

Im Fenster müssen Sie nur pip install setuptools --no-use-wheel --upgradeals Administrator ausführen . Unter Unix / Linux dient der sudoBefehl zum Erhöhen von Berechtigungen.

AKTUALISIEREN

Dies scheint in 1.5.1 behoben worden zu sein.

Rolandf
quelle
Tut mir leid, das scheint mein Problem nicht vollständig zu lösen, ich arbeite noch daran.
Rolandf
Ich musste vorerst mit pip 1.4 zurückkehren, werde später nach einer Lösung suchen.
Rolandf
Hat für mich gearbeitet. Keine Ahnung warum das passiert ist.
Amoe
4
Beachten Sie, dass die hinzugefügte --no-use-wheelOption die Verwendung von 'Radarchiven' einfach überspringt , ansonsten aber genau dieselbe Installation wie ein Befehl ausführt, der sie weglässt.
Orome
1
Arbeitete für mich auf Centos 6. Sprechen Sie über eine abstrakte Fehlermeldung.
Fred
11

Erstens sollten Sie niemals "sudo pip" ausführen.

Wenn möglich, sollten Sie Ihren Systempaket-Manager verwenden, da er GPG-Signaturen verwendet, um sicherzustellen, dass Sie keinen schädlichen Code ausführen.

Versuchen Sie andernfalls, setuptools zu aktualisieren:

easy_install -U setuptools

Versuchen Sie alternativ:

pip install --user <somepackage>

Dies gilt natürlich für "globale" Pakete. Idealerweise sollten Sie virtualenvs verwenden.

user1503941
quelle
6
Im Allgemeinen ist es falsch, Pip als Sudo zu betreiben. Manchmal müssen Sie jedoch Dinge in Systempython installieren (z. B. virtualenv oder pip selbst), und dann ist sudo geeignet.
Luke Sneeringer
1
@ LukeSneeringer: Warum ist es "falsch". Ich glaube nicht, dass ich wirklich eine Wahl habe, ohne eine größere Neukonfiguration.
Orome
1
easy_install -U setuptools Felsen!
Madzohan