Warum pip über easy_install verwenden?

Lesezeit: 10 Minuten

Benutzer-Avatar
Sridhar Ratnakumar

EIN twittern liest:

Verwenden Sie easy_install nicht, es sei denn, Sie stechen sich gerne selbst ins Gesicht. Benutz Pip.

Warum pip über easy_install verwenden? Tut das nicht Fehler liegen meistens bei PyPI und Paketautoren? Wenn ein Autor Mist-Quell-Tarball (z. B. fehlende Dateien, keine setup.py) auf PyPI hochlädt, schlagen sowohl pip als auch easy_install fehl. Abgesehen von kosmetischen Unterschieden, warum scheinen Python-Leute (wie im obigen Tweet) das zu tun stark Bevorzugen Sie Pip gegenüber easy_install?

(Nehmen wir an, wir sprechen von easy_install aus dem Distribute-Paket, das von der Community gepflegt wird)

  • Bevor ich diese Frage gesehen habe, habe ich eine nicht verwandte Frage beantwortet, indem ich sagte: “Verwenden Sie nicht easy_install, verwenden Sie pip”. Jetzt frage ich mich, warum ich das gesagt habe…

    – Daniel Rosemann

    10. Juli 2010 um 19:07 Uhr

  • Ich stoße immer noch auf Pakete, die dazu führen, dass pip fehlschlägt, aber easy_install funktioniert einwandfrei, also bin ich auch neugierig darauf.

    – kwatford

    11. Juli 2010 um 1:03 Uhr

  • pyobjc-core ist ein Beispiel für ein Paket, das mit easy_install funktioniert, aber nicht mit pip.

    – Marc Abramowitz

    14. April 2011 um 21:16 Uhr

  • Um vier Jahre später auf Python zurückzukommen, ist der Zustand der Verpackung mehr als durcheinander. Es ist 2014 und es wurde nur noch schlimmer. Soweit ich Setuptools verstehe absorbiert distutils, obwohl es offizielle Python-Dokumente sind nicht bewusst dazu, aber weder ist wird Teil von Python 3 seinund Pip hängt herum wie ein drittes Rad (Wortspiel beabsichtigt).

    – Andriy Drozdyuk

    2. Juni 2014 um 15:52 Uhr

  • @drozzy: Du bist zufällig zum ungünstigsten Zeitpunkt zurückgekommen – direkt nachdem eine Gruppe von Kernentwicklern entschieden hatte, dass die Dinge so ein Chaos geworden waren, dass sie sich an der Lösung des Problems beteiligen mussten. setuptools ist nicht Teil von Python 3, weil pip ist, und das ist der einzige Teil, den Endbenutzer benötigen. (Und Entwickler, die auf PyPI verteilen wollen, können das natürlich pip install setuptoolsund alles andere, was sie sich wünschen könnten.)

    – Abart

    23. Mai 2015 um 3:19 Uhr

Benutzer-Avatar
Daniel Rosemann

Von Ian Bicking Einführung in Pip:

pip wurde ursprünglich geschrieben, um easy_install auf folgende Weise zu verbessern

  • Alle Pakete werden vor der Installation heruntergeladen. Dadurch kommt es nicht zu einer unvollständigen Installation.
  • Es wird darauf geachtet, nützliche Ausgaben auf der Konsole zu präsentieren.
  • Die Gründe für Aktionen werden nachverfolgt. Wenn beispielsweise ein Paket installiert wird, verfolgt pip, warum dieses Paket erforderlich war.
  • Fehlermeldungen sollten nützlich sein.
  • Der Code ist relativ prägnant und zusammenhängend, was die programmgesteuerte Verwendung erleichtert.
  • Pakete müssen nicht als Ei-Archive installiert werden, sie können flach installiert werden (unter Beibehaltung der Ei-Metadaten).
  • Native Unterstützung für andere Versionskontrollsysteme (Git, Mercurial und Bazaar)
  • Deinstallation von Paketen.
  • Es ist einfach, feste Anforderungssätze zu definieren und einen Satz von Paketen zuverlässig zu reproduzieren.

  • Der Vorteil „Fehlermeldungen“ ist enorm, besonders für neuere Benutzer. Easy-Install ist berühmt dafür, Dutzende von scheinbar schwerwiegenden Fehlern auszuspucken, nur um die Installation trotzdem erfolgreich durchgeführt zu haben, was die Verwendung schwierig macht, bis Sie lernen, fast alles zu ignorieren, was es sagt. Pip unterlässt es einfach, diese Dinge überhaupt zu sagen.

    – Brandon Rhodes

    6. Oktober 2010 um 20:47 Uhr

  • @Glyph gibt es einen Vorteil bei der Verwendung easy_install pip Über sudo apt-get install python-pip?

    – Denis

    7. Juni 2012 um 11:38 Uhr


  • Verwenden Sie easy_install nicht außerhalb einer virtuellen Umgebung bei paketbasierten Distributionen: workaround.org/easy-install-debian

    – Federico

    8. Juli 2012 um 14:25 Uhr


  • @Dennis: Bei der Verwendung sudo apt-get Ubuntu/Debian installiert Python-Pakete in /usr/lib/python/dist-packages wohingegen sudo pip oder sudo easy_install wird eingebaut /local/lib/python/site-packages und leider haben die Debian/Ubuntu-Pakete oft unterschiedliche Namen, mit denen pip nicht vertraut ist. Die beste Lösung ist IMHO die Verwendung von virtualenv und pip Installieren Sie dort Ihre Pakete.

    – Mark Mikofski

    24. August 2012 um 17:47 Uhr

  • Dies erfordert ein Update.

    – Andriy Drozdyuk

    2. Juni 2014 um 15:39 Uhr

Benutzer-Avatar
Abart

Viele der Antworten hier sind für 2015 veraltet (obwohl die ursprünglich akzeptierte von Daniel Roseman dies nicht ist). Hier der aktuelle Stand der Dinge:

  • Binärpakete werden jetzt als Räder verteilt (.whl Dateien) – nicht nur auf PyPI, sondern auch in Repositories von Drittanbietern wie z Christoph Gohlkes Erweiterungspakete für Windows. pip kann mit Rädern umgehen; easy_install kann nicht.
  • Virtuelle Umgebungen (die in 3.4 integriert sind oder mit 2.6+/3.1+ hinzugefügt werden können virtualenv) sind zu einem sehr wichtigen und prominenten Werkzeug geworden (und empfohlen in die offiziellen Dokumente); Sie beinhalten pip aus der Box, aber nicht einmal richtig mit arbeiten easy_install.
  • Das distribute Paket, das enthalten ist easy_install wird nicht mehr gepflegt. Seine Verbesserungen vorbei setuptools wurde wieder zusammengeführt setuptools. Versuch zu installieren distribute werde einfach installieren setuptools stattdessen.
  • easy_install selbst wird nur quasi gepflegt.
  • Alle Fälle, in denen pip war früher unterlegen easy_install—Installation von einem entpackten Quellbaum, von einem DVCS-Repo usw. — sind schon lange vorbei; du kannst pip install ., pip install git+https://.
  • pip kommt mit den offiziellen Paketen für Python 2.7 und 3.4+ von python.org und a pip Bootstrap ist standardmäßig enthalten, wenn Sie aus dem Quellcode erstellen.
  • Die verschiedenen unvollständigen Dokumentationsteile zum Installieren, Verwenden und Erstellen von Paketen wurden durch die ersetzt Python-Packaging-Benutzerhandbuch. Pythons eigene Dokumentation auf Installieren von Python-Modulen bezieht sich nun auf diese Bedienungsanleitung und ruft explizit dazu auf pip als “bevorzugtes Installationsprogramm”.
  • Weitere neue Funktionen wurden hinzugefügt pip über die Jahre, die nie in sein werden easy_install. Zum Beispiel, pip macht es einfach, Ihre Site-Pakete zu klonen, indem Sie eine Anforderungsdatei erstellen und sie dann mit einem einzigen Befehl auf jeder Seite installieren. Oder um Ihre Anforderungsdatei in ein lokales Repo zu konvertieren, um es für die interne Entwicklung zu verwenden. Usw.

Der einzige gute Grund, den ich kenne, zu verwenden easy_install im Jahr 2015 ist der Sonderfall der Verwendung von Apples vorinstallierten Python-Versionen mit OS X 10.5-10.8. Seit 10.5 hat Apple es aufgenommen easy_installaber ab 10.10 sind sie immer noch nicht enthalten pip. Mit 10.9+ sollten Sie immer noch nur verwenden get-pip.pyaber für 10.5-10.8 hat dies einige Probleme, daher ist es einfacher sudo easy_install pip. (Im Algemeinen, easy_install pip ist eine schlechte Idee; Sie möchten dies nur für OS X 10.5-10.8 tun.) Auch 10.5-10.8 enthalten readline in einer Weise dass easy_install weiß aber wie man rumfummelt pip nicht, also willst du es auch sudo easy_install readline wenn du das upgraden willst.

  • @drozzy: Vielleicht. Aber bedenken Sie, dass meine Antwort in weiteren 5 Jahren genauso veraltet sein wird wie alle anderen, während die von Daniel Roseman zeitlos ist. Außerdem wäre meine Antwort nicht so gut, wenn sie sich nicht darauf verlassen könnte, auf eine 5 Jahre alte akzeptierte Antwort zu zeigen, die dies demonstriert warum die Python-Community kam hinterher pip in der Zwischenzeit.

    – Abart

    26. Mai 2015 um 0:44 Uhr

  • Es ist erwähnenswert, dass einige gepackte Versionen von pip fehlerhaft waren und pip sich selbst nicht aktualisieren konnte. Ob Sie es ironisch finden oder nicht, in diesen Fällen ist es die einfachste Lösung, es zu tun easy_install -U pip oder easy_install3 -U pip.

    – Analytik

    28. Juli 2016 um 9:43 Uhr


  • “aber nicht einmal richtig damit arbeiten easy_install” Das war nicht meine Erfahrung, obwohl ich es seit einiger Zeit nicht mehr versucht habe, da jetzt Räder dominieren. Aber Christoph Gohlkes Binärdateien wurden früher als ausführbare Eier verteilt. Anrufen easy_install auf ihnen war die nur Möglichkeit, diese Pakete in einer virtuellen Umgebung zu installieren, und es hat mir nie Sodbrennen bereitet. Auf welche Weise easy_install nicht mehr mit virtuellen Umgebungen arbeiten?

    – jpmc26

    10. Mai 2018 um 11:44 Uhr


  • Zitieren im “quasi gepflegten” Teil erforderlich. Ansonsten tolle Antwort

    – Gülzar

    8. Februar um 16:08 Uhr


Benutzer-Avatar
Matthäus Rankin

Ein weiterer – bisher unerwähnter – Grund für die Bevorzugung Pip ist, weil es die ist Neu Schärfe und wird auch in Zukunft weiter verwendet.

Die Infografik unten – von der Aktueller Stand der Verpackung Abschnitt in der Per Anhalter durch das Verpacken v1.0– zeigt, dass setuptools/easy_install in Zukunft verschwinden wird.

Geben Sie hier die Bildbeschreibung ein

Hier ist eine weitere Infografik von Dokumentation verteilen Zeigt das Setuptools und easy_install wird durch die neue Hotness ersetzt—verteilen und Pip. Während Pip ist immer noch die neue Schärfe, Verteilen fusioniert mit Setuptools im Jahr 2013 mit der Veröffentlichung von Setuptools v0.7.

Geben Sie hier die Bildbeschreibung ein

  • Infografik FTW

    – Weingetränkt

    19. März 2011 um 17:00 Uhr

  • OTOH, die zweite Grafik ist seit einem Jahr veraltet. distribution wird das Ende seiner Lebensdauer erreichen und durch distutils2 ersetzt werden (das ab 3.3 auch in der Python-Standardbibliothek enthalten sein wird). Ein grundlegendes Installationsprogramm namens pysetup wird als Teil von distutils2 bereitgestellt, und pip wird in Zukunft weiterhin zusätzliche Funktionen zusätzlich zu distutils2 bereitstellen.

    – merwok

    10. Oktober 2011 um 14:58 Uhr

  • omg vielen dank. Ich bin seit Jahren verwirrt von der Python-Verpackung und es ist ermutigend, einen halbautoritativen Weg nach vorne zu sehen.

    – Aaron

    28. Dezember 2011 um 5:36 Uhr

  • Stand März 2013 distribute verschmilzt wieder mit setuptools. pip funktioniert. packaging (distutils2) ist nicht in Python 3.3 enthalten.

    – jfs

    29. April 2013 um 1:11 Uhr

  • Diese “Antwort” ist so veraltet und einfach falsch, dass es nicht einmal lustig ist.

    – nur keine

    24. September 2014 um 16:13 Uhr

Zwei Gründe, es können noch mehr sein:

  1. Pip bietet eine uninstall Befehl

  2. Wenn eine Installation mittendrin fehlschlägt, hinterlässt Pip Sie in einem sauberen Zustand.

Benutzer-Avatar
Matthäus Schinckel

REQUIREMENTS-Dateien.

Im Ernst, ich benutze dies jeden Tag in Verbindung mit virtualenv.


SCHNELLES ABHÄNGIGKEITSMANAGEMENT-TUTORIAL, LEUTE

Mit Anforderungsdateien können Sie einen Snapshot aller Pakete erstellen, die über pip installiert wurden. Indem Sie diese Pakete in einer virtuellen Umgebung einkapseln, können Sie Ihre Codebasis an einem ganz bestimmten Satz von Paketen arbeiten lassen und diese Codebasis mit anderen teilen.

Aus Herokus Dokumentation https://devcenter.heroku.com/articles/python

Sie erstellen eine virtuelle Umgebung und stellen Ihre Shell so ein, dass sie sie verwendet. (bash/*nix Anweisungen)

virtualenv env
source env/bin/activate

Jetzt verwenden alle Python-Skripte, die mit dieser Shell ausgeführt werden, die Pakete und die Konfiguration dieser Umgebung. Jetzt können Sie ein Paket lokal in dieser Umgebung installieren, ohne es global auf Ihrem Computer installieren zu müssen.

pip install flask

Jetzt können Sie die Informationen darüber ausgeben, mit welchen Paketen installiert wird

pip freeze > requirements.txt

Wenn Sie diese Datei in die Versionskontrolle eingecheckt haben und jemand anderes Ihren Code erhält, kann er seine eigene virtuelle Umgebung einrichten und alle Abhängigkeiten installieren mit:

pip install -r requirements.txt

Jedes Mal, wenn Sie Langeweile so automatisieren können, ist das großartig.

  • Dies scheint jetzt auch Teil von setuptools zu sein: pythonhosted.org/setuptools/…

    – Andriy Drozdyuk

    2. Juni 2014 um 15:43 Uhr

  • du solltest benutzen pipreqs um die Datei requirements.txt zu erhalten. Es werden nur die Bibliotheken angegeben, die sich auf das Projekt beziehen, in dem Sie pipreqs aufrufen, sodass requirements.txt auf dem Projekt und nicht auf der virtuellen Umgebung basiert.

    – SeF

    29. Mai 2019 um 15:32 Uhr

Benutzer-Avatar
Fuzzyman

pip installiert keine Binärpakete und ist unter Windows nicht gut getestet.

Da Windows nicht standardmäßig mit einem Compiler geliefert wird, pip oft kippen dort verwendet werden. Einfach zu installieren kann Binärpakete für Windows installieren.

  • Dies scheint jetzt auch Teil von setuptools zu sein: pythonhosted.org/setuptools/…

    – Andriy Drozdyuk

    2. Juni 2014 um 15:43 Uhr

  • du solltest benutzen pipreqs um die Datei requirements.txt zu erhalten. Es werden nur die Bibliotheken angegeben, die sich auf das Projekt beziehen, in dem Sie pipreqs aufrufen, sodass requirements.txt auf dem Projekt und nicht auf der virtuellen Umgebung basiert.

    – SeF

    29. Mai 2019 um 15:32 Uhr

AKTUALISIEREN: setuptools absorbiert hat distribute im Gegensatz zu umgekehrt, wie einige dachten. setuptools ist auf dem neuesten Stand distutils Änderungen und das Radformat. Somit, easy_install und pip sind jetzt mehr oder weniger gleichberechtigt.

Quelle: http://pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name

  • Warum wird das nicht mehr positiv bewertet? Die Antworten sind so veraltet!

    – Andriy Drozdyuk

    2. Juni 2014 um 15:38 Uhr

  • Ja, die Top-Antworten sind extrem veraltet

    – WKordos

    25. Juli 2014 um 14:21 Uhr

  • Somit sind easy_install und pip jetzt mehr oder weniger gleichberechtigt Das ist schwachsinn. easy_install ist immer noch das, was es schon lange war, und pip verbessert es enorm. easy_install ist nur ein Teil davon setuptools und wohl einer der schlechtesten, weshalb pip darauf abzielt, es zu ersetzen.

    – Piotr Dobrogost

    28. September 2015 um 11:56 Uhr

1144470cookie-checkWarum pip über easy_install verwenden?

Warum pip über easy_install verwenden?

Lesezeit: 10 Minuten

Benutzer-Avatar
Sridhar Ratnakumar

EIN twittern liest:

Verwenden Sie easy_install nicht, es sei denn, Sie stechen sich gerne selbst ins Gesicht. Benutz Pip.

Warum pip über easy_install verwenden? Tut das nicht Fehler liegen meistens bei PyPI und Paketautoren? Wenn ein Autor Mist-Quell-Tarball (z. B. fehlende Dateien, keine setup.py) auf PyPI hochlädt, schlagen sowohl pip als auch easy_install fehl. Abgesehen von kosmetischen Unterschieden, warum scheinen Python-Leute (wie im obigen Tweet) das zu tun stark Bevorzugen Sie Pip gegenüber easy_install?

(Nehmen wir an, wir sprechen von easy_install aus dem Distribute-Paket, das von der Community gepflegt wird)

  • Bevor ich diese Frage gesehen habe, habe ich eine nicht verwandte Frage beantwortet, indem ich sagte: “Verwenden Sie nicht easy_install, verwenden Sie pip”. Jetzt frage ich mich, warum ich das gesagt habe…

    – Daniel Rosemann

    10. Juli 2010 um 19:07 Uhr

  • Ich stoße immer noch auf Pakete, die dazu führen, dass pip fehlschlägt, aber easy_install funktioniert einwandfrei, also bin ich auch neugierig darauf.

    – kwatford

    11. Juli 2010 um 1:03 Uhr

  • pyobjc-core ist ein Beispiel für ein Paket, das mit easy_install funktioniert, aber nicht mit pip.

    – Marc Abramowitz

    14. April 2011 um 21:16 Uhr

  • Um vier Jahre später auf Python zurückzukommen, ist der Zustand der Verpackung mehr als durcheinander. Es ist 2014 und es wurde nur noch schlimmer. Soweit ich Setuptools verstehe absorbiert distutils, obwohl es offizielle Python-Dokumente sind nicht bewusst dazu, aber weder ist wird Teil von Python 3 seinund Pip hängt herum wie ein drittes Rad (Wortspiel beabsichtigt).

    – Andriy Drozdyuk

    2. Juni 2014 um 15:52 Uhr

  • @drozzy: Du bist zufällig zum ungünstigsten Zeitpunkt zurückgekommen – direkt nachdem eine Gruppe von Kernentwicklern entschieden hatte, dass die Dinge so ein Chaos geworden waren, dass sie sich an der Lösung des Problems beteiligen mussten. setuptools ist nicht Teil von Python 3, weil pip ist, und das ist der einzige Teil, den Endbenutzer benötigen. (Und Entwickler, die auf PyPI verteilen wollen, können das natürlich pip install setuptoolsund alles andere, was sie sich wünschen könnten.)

    – Abart

    23. Mai 2015 um 3:19 Uhr

Benutzer-Avatar
Daniel Rosemann

Von Ian Bicking Einführung in Pip:

pip wurde ursprünglich geschrieben, um easy_install auf folgende Weise zu verbessern

  • Alle Pakete werden vor der Installation heruntergeladen. Dadurch kommt es nicht zu einer unvollständigen Installation.
  • Es wird darauf geachtet, nützliche Ausgaben auf der Konsole zu präsentieren.
  • Die Gründe für Aktionen werden nachverfolgt. Wenn beispielsweise ein Paket installiert wird, verfolgt pip, warum dieses Paket erforderlich war.
  • Fehlermeldungen sollten nützlich sein.
  • Der Code ist relativ prägnant und zusammenhängend, was die programmgesteuerte Verwendung erleichtert.
  • Pakete müssen nicht als Ei-Archive installiert werden, sie können flach installiert werden (unter Beibehaltung der Ei-Metadaten).
  • Native Unterstützung für andere Versionskontrollsysteme (Git, Mercurial und Bazaar)
  • Deinstallation von Paketen.
  • Es ist einfach, feste Anforderungssätze zu definieren und einen Satz von Paketen zuverlässig zu reproduzieren.

  • Der Vorteil „Fehlermeldungen“ ist enorm, besonders für neuere Benutzer. Easy-Install ist berühmt dafür, Dutzende von scheinbar schwerwiegenden Fehlern auszuspucken, nur um die Installation trotzdem erfolgreich durchgeführt zu haben, was die Verwendung schwierig macht, bis Sie lernen, fast alles zu ignorieren, was es sagt. Pip unterlässt es einfach, diese Dinge überhaupt zu sagen.

    – Brandon Rhodes

    6. Oktober 2010 um 20:47 Uhr

  • @Glyph gibt es einen Vorteil bei der Verwendung easy_install pip Über sudo apt-get install python-pip?

    – Denis

    7. Juni 2012 um 11:38 Uhr


  • Verwenden Sie easy_install nicht außerhalb einer virtuellen Umgebung bei paketbasierten Distributionen: workaround.org/easy-install-debian

    – Federico

    8. Juli 2012 um 14:25 Uhr


  • @Dennis: Bei der Verwendung sudo apt-get Ubuntu/Debian installiert Python-Pakete in /usr/lib/python/dist-packages wohingegen sudo pip oder sudo easy_install wird eingebaut /local/lib/python/site-packages und leider haben die Debian/Ubuntu-Pakete oft unterschiedliche Namen, mit denen pip nicht vertraut ist. Die beste Lösung ist IMHO die Verwendung von virtualenv und pip Installieren Sie dort Ihre Pakete.

    – Mark Mikofski

    24. August 2012 um 17:47 Uhr

  • Dies erfordert ein Update.

    – Andriy Drozdyuk

    2. Juni 2014 um 15:39 Uhr

Benutzer-Avatar
Abart

Viele der Antworten hier sind für 2015 veraltet (obwohl die ursprünglich akzeptierte von Daniel Roseman dies nicht ist). Hier der aktuelle Stand der Dinge:

  • Binärpakete werden jetzt als Räder verteilt (.whl Dateien) – nicht nur auf PyPI, sondern auch in Repositories von Drittanbietern wie z Christoph Gohlkes Erweiterungspakete für Windows. pip kann mit Rädern umgehen; easy_install kann nicht.
  • Virtuelle Umgebungen (die in 3.4 integriert sind oder mit 2.6+/3.1+ hinzugefügt werden können virtualenv) sind zu einem sehr wichtigen und prominenten Werkzeug geworden (und empfohlen in die offiziellen Dokumente); Sie beinhalten pip aus der Box, aber nicht einmal richtig mit arbeiten easy_install.
  • Das distribute Paket, das enthalten ist easy_install wird nicht mehr gepflegt. Seine Verbesserungen vorbei setuptools wurde wieder zusammengeführt setuptools. Versuch zu installieren distribute werde einfach installieren setuptools stattdessen.
  • easy_install selbst wird nur quasi gepflegt.
  • Alle Fälle, in denen pip war früher unterlegen easy_install—Installation von einem entpackten Quellbaum, von einem DVCS-Repo usw. — sind schon lange vorbei; du kannst pip install ., pip install git+https://.
  • pip kommt mit den offiziellen Paketen für Python 2.7 und 3.4+ von python.org und a pip Bootstrap ist standardmäßig enthalten, wenn Sie aus dem Quellcode erstellen.
  • Die verschiedenen unvollständigen Dokumentationsteile zum Installieren, Verwenden und Erstellen von Paketen wurden durch die ersetzt Python-Packaging-Benutzerhandbuch. Pythons eigene Dokumentation auf Installieren von Python-Modulen bezieht sich nun auf diese Bedienungsanleitung und ruft explizit dazu auf pip als “bevorzugtes Installationsprogramm”.
  • Weitere neue Funktionen wurden hinzugefügt pip über die Jahre, die nie in sein werden easy_install. Zum Beispiel, pip macht es einfach, Ihre Site-Pakete zu klonen, indem Sie eine Anforderungsdatei erstellen und sie dann mit einem einzigen Befehl auf jeder Seite installieren. Oder um Ihre Anforderungsdatei in ein lokales Repo zu konvertieren, um es für die interne Entwicklung zu verwenden. Usw.

Der einzige gute Grund, den ich kenne, zu verwenden easy_install im Jahr 2015 ist der Sonderfall der Verwendung von Apples vorinstallierten Python-Versionen mit OS X 10.5-10.8. Seit 10.5 hat Apple es aufgenommen easy_installaber ab 10.10 sind sie immer noch nicht enthalten pip. Mit 10.9+ sollten Sie immer noch nur verwenden get-pip.pyaber für 10.5-10.8 hat dies einige Probleme, daher ist es einfacher sudo easy_install pip. (Im Algemeinen, easy_install pip ist eine schlechte Idee; Sie möchten dies nur für OS X 10.5-10.8 tun.) Auch 10.5-10.8 enthalten readline in einer Weise dass easy_install weiß aber wie man rumfummelt pip nicht, also willst du es auch sudo easy_install readline wenn du das upgraden willst.

  • @drozzy: Vielleicht. Aber bedenken Sie, dass meine Antwort in weiteren 5 Jahren genauso veraltet sein wird wie alle anderen, während die von Daniel Roseman zeitlos ist. Außerdem wäre meine Antwort nicht so gut, wenn sie sich nicht darauf verlassen könnte, auf eine 5 Jahre alte akzeptierte Antwort zu zeigen, die dies demonstriert warum die Python-Community kam hinterher pip in der Zwischenzeit.

    – Abart

    26. Mai 2015 um 0:44 Uhr

  • Es ist erwähnenswert, dass einige gepackte Versionen von pip fehlerhaft waren und pip sich selbst nicht aktualisieren konnte. Ob Sie es ironisch finden oder nicht, in diesen Fällen ist es die einfachste Lösung, es zu tun easy_install -U pip oder easy_install3 -U pip.

    – Analytik

    28. Juli 2016 um 9:43 Uhr


  • “aber nicht einmal richtig damit arbeiten easy_install” Das war nicht meine Erfahrung, obwohl ich es seit einiger Zeit nicht mehr versucht habe, da jetzt Räder dominieren. Aber Christoph Gohlkes Binärdateien wurden früher als ausführbare Eier verteilt. Anrufen easy_install auf ihnen war die nur Möglichkeit, diese Pakete in einer virtuellen Umgebung zu installieren, und es hat mir nie Sodbrennen bereitet. Auf welche Weise easy_install nicht mehr mit virtuellen Umgebungen arbeiten?

    – jpmc26

    10. Mai 2018 um 11:44 Uhr


  • Zitieren im “quasi gepflegten” Teil erforderlich. Ansonsten tolle Antwort

    – Gülzar

    8. Februar um 16:08 Uhr


Benutzer-Avatar
Matthäus Rankin

Ein weiterer – bisher unerwähnter – Grund für die Bevorzugung Pip ist, weil es die ist Neu Schärfe und wird auch in Zukunft weiter verwendet.

Die Infografik unten – von der Aktueller Stand der Verpackung Abschnitt in der Per Anhalter durch das Verpacken v1.0– zeigt, dass setuptools/easy_install in Zukunft verschwinden wird.

Geben Sie hier die Bildbeschreibung ein

Hier ist eine weitere Infografik von Dokumentation verteilen Zeigt das Setuptools und easy_install wird durch die neue Hotness ersetzt—verteilen und Pip. Während Pip ist immer noch die neue Schärfe, Verteilen fusioniert mit Setuptools im Jahr 2013 mit der Veröffentlichung von Setuptools v0.7.

Geben Sie hier die Bildbeschreibung ein

  • Infografik FTW

    – Weingetränkt

    19. März 2011 um 17:00 Uhr

  • OTOH, die zweite Grafik ist seit einem Jahr veraltet. distribution wird das Ende seiner Lebensdauer erreichen und durch distutils2 ersetzt werden (das ab 3.3 auch in der Python-Standardbibliothek enthalten sein wird). Ein grundlegendes Installationsprogramm namens pysetup wird als Teil von distutils2 bereitgestellt, und pip wird in Zukunft weiterhin zusätzliche Funktionen zusätzlich zu distutils2 bereitstellen.

    – merwok

    10. Oktober 2011 um 14:58 Uhr

  • omg vielen dank. Ich bin seit Jahren verwirrt von der Python-Verpackung und es ist ermutigend, einen halbautoritativen Weg nach vorne zu sehen.

    – Aaron

    28. Dezember 2011 um 5:36 Uhr

  • Stand März 2013 distribute verschmilzt wieder mit setuptools. pip funktioniert. packaging (distutils2) ist nicht in Python 3.3 enthalten.

    – jfs

    29. April 2013 um 1:11 Uhr

  • Diese “Antwort” ist so veraltet und einfach falsch, dass es nicht einmal lustig ist.

    – nur keine

    24. September 2014 um 16:13 Uhr

Zwei Gründe, es können noch mehr sein:

  1. Pip bietet eine uninstall Befehl

  2. Wenn eine Installation mittendrin fehlschlägt, hinterlässt Pip Sie in einem sauberen Zustand.

Benutzer-Avatar
Matthäus Schinckel

REQUIREMENTS-Dateien.

Im Ernst, ich benutze dies jeden Tag in Verbindung mit virtualenv.


SCHNELLES ABHÄNGIGKEITSMANAGEMENT-TUTORIAL, LEUTE

Mit Anforderungsdateien können Sie einen Snapshot aller Pakete erstellen, die über pip installiert wurden. Indem Sie diese Pakete in einer virtuellen Umgebung einkapseln, können Sie Ihre Codebasis an einem ganz bestimmten Satz von Paketen arbeiten lassen und diese Codebasis mit anderen teilen.

Aus Herokus Dokumentation https://devcenter.heroku.com/articles/python

Sie erstellen eine virtuelle Umgebung und stellen Ihre Shell so ein, dass sie sie verwendet. (bash/*nix Anweisungen)

virtualenv env
source env/bin/activate

Jetzt verwenden alle Python-Skripte, die mit dieser Shell ausgeführt werden, die Pakete und die Konfiguration dieser Umgebung. Jetzt können Sie ein Paket lokal in dieser Umgebung installieren, ohne es global auf Ihrem Computer installieren zu müssen.

pip install flask

Jetzt können Sie die Informationen darüber ausgeben, mit welchen Paketen installiert wird

pip freeze > requirements.txt

Wenn Sie diese Datei in die Versionskontrolle eingecheckt haben und jemand anderes Ihren Code erhält, kann er seine eigene virtuelle Umgebung einrichten und alle Abhängigkeiten installieren mit:

pip install -r requirements.txt

Jedes Mal, wenn Sie Langeweile so automatisieren können, ist das großartig.

  • Dies scheint jetzt auch Teil von setuptools zu sein: pythonhosted.org/setuptools/…

    – Andriy Drozdyuk

    2. Juni 2014 um 15:43 Uhr

  • du solltest benutzen pipreqs um die Datei requirements.txt zu erhalten. Es werden nur die Bibliotheken angegeben, die sich auf das Projekt beziehen, in dem Sie pipreqs aufrufen, sodass requirements.txt auf dem Projekt und nicht auf der virtuellen Umgebung basiert.

    – SeF

    29. Mai 2019 um 15:32 Uhr

Benutzer-Avatar
Fuzzyman

pip installiert keine Binärpakete und ist unter Windows nicht gut getestet.

Da Windows nicht standardmäßig mit einem Compiler geliefert wird, pip oft kippen dort verwendet werden. Einfach zu installieren kann Binärpakete für Windows installieren.

  • Dies scheint jetzt auch Teil von setuptools zu sein: pythonhosted.org/setuptools/…

    – Andriy Drozdyuk

    2. Juni 2014 um 15:43 Uhr

  • du solltest benutzen pipreqs um die Datei requirements.txt zu erhalten. Es werden nur die Bibliotheken angegeben, die sich auf das Projekt beziehen, in dem Sie pipreqs aufrufen, sodass requirements.txt auf dem Projekt und nicht auf der virtuellen Umgebung basiert.

    – SeF

    29. Mai 2019 um 15:32 Uhr

AKTUALISIEREN: setuptools absorbiert hat distribute im Gegensatz zu umgekehrt, wie einige dachten. setuptools ist auf dem neuesten Stand distutils Änderungen und das Radformat. Somit, easy_install und pip sind jetzt mehr oder weniger gleichberechtigt.

Quelle: http://pythonhosted.org/setuptools/merge-faq.html#why-setuptools-and-not-distribute-or-another-name

  • Warum wird das nicht mehr positiv bewertet? Die Antworten sind so veraltet!

    – Andriy Drozdyuk

    2. Juni 2014 um 15:38 Uhr

  • Ja, die Top-Antworten sind extrem veraltet

    – WKordos

    25. Juli 2014 um 14:21 Uhr

  • Somit sind easy_install und pip jetzt mehr oder weniger gleichberechtigt Das ist schwachsinn. easy_install ist immer noch das, was es schon lange war, und pip verbessert es enorm. easy_install ist nur ein Teil davon setuptools und wohl einer der schlechtesten, weshalb pip darauf abzielt, es zu ersetzen.

    – Piotr Dobrogost

    28. September 2015 um 11:56 Uhr

1144480cookie-checkWarum pip über easy_install verwenden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy