Ich weiß, pip
ist ein Paketmanager für Python-Pakete. Ich habe jedoch gesehen, dass die Installation auf der IPython-Website conda
zur Installation von IPython verwendet wurde.
Kann ich pip
IPython installieren? Warum sollte ich conda
als anderer Python-Paketmanager verwenden, wenn ich bereits habe pip
?
Was ist der Unterschied zwischen pip
und conda
?
conda
/enpgk
zu ausgerichtet istnew users who want to get up and running with minimal effort
: Baldachin / anaconda sind eigenständige environement, die mit System Python (wie Venv aber mächtiger) nicht stören. Übrigens IPyhton, nicht iPython (Großbuchstabe I)Antworten:
Zitat aus dem Conda-Blog :
Conda ist also ein Verpackungswerkzeug und ein Installationsprogramm, das mehr als nur das tun
pip
soll. Behandeln Sie Bibliotheksabhängigkeiten außerhalb der Python-Pakete sowie der Python-Pakete selbst. Conda erstellt auch eine virtuelle Umgebungvirtualenv
.Daher sollte Conda möglicherweise mit Buildout verglichen werden , einem anderen Tool, mit dem Sie sowohl Python- als auch Nicht-Python-Installationsaufgaben ausführen können.
Da Conda ein neues Verpackungsformat einführt, können Sie
pip
Conda nicht austauschbar verwenden.pip
Das Conda-Paketformat kann nicht installiert werden. Sie können die beiden Tools nebeneinander verwenden (durch Installationpip
mitconda install pip
), sie funktionieren jedoch auch nicht zusammen.Seit Anaconda diese Antwort geschrieben hat, hat sie eine neue Seite über das Verständnis von Conda und Pip veröffentlicht , die dies ebenfalls wiederholt:
und weiter
quelle
pip install
.Hier ist ein kurzer Überblick:
Pip
conda
conda build
, das Pakete aus dem Quellcode erstellt, aberconda install
selbst Dinge aus bereits erstellten Conda-Paketen installiert.In beiden Fällen:
Die ersten beiden Aufzählungspunkte von Conda machen es für viele Pakete wirklich vorteilhaft gegenüber Pip. Da pip vom Quellcode aus installiert wird, kann es schmerzhaft sein, Dinge damit zu installieren, wenn Sie den Quellcode nicht kompilieren können (dies gilt insbesondere für Windows, aber auch für Linux, wenn die Pakete eine schwierige C- oder FORTRAN-Bibliothek haben Abhängigkeiten). Conda wird über Binärdateien installiert, was bedeutet, dass bereits jemand (z. B. Continuum) die harte Arbeit beim Kompilieren des Pakets geleistet hat, sodass die Installation einfach ist.
Es gibt auch einige Unterschiede, wenn Sie daran interessiert sind, Ihre eigenen Pakete zu erstellen. Zum Beispiel basiert pip auf Setuptools, während Conda ein eigenes Format verwendet, das einige Vorteile hat (wie statisch zu sein und wieder Python-Agnostiker).
quelle
pip install --use-wheel <package>
wird ein gebautes Paket installiert. Siehe hier: Wheel.readthedocs.org/en/latest . Meine persönliche Erfahrung mit Rädern ist jedoch, dass so wenige wissenschaftliche Radpakete verfügbar sind, dass es rein akademisch ist. Und natürlich funktioniert die Pip-Installation auch unter Windows meistens nicht, wenn Ihre Build-Umgebung nicht genau richtig eingerichtet ist. Also im Moment conda ftw.Die anderen Antworten geben eine angemessene Beschreibung der Details, aber ich möchte einige Punkte auf hoher Ebene hervorheben.
pip ist ein Paketmanager, der die Installation, Aktualisierung und Deinstallation von Python-Paketen erleichtert . Es funktioniert auch mit virtuellen Python- Umgebungen.
conda ist ein Paketmanager für jede Software (Installation, Aktualisierung und Deinstallation). Es funktioniert auch mit virtuellen Systemumgebungen .
Eines der Ziele beim Design von conda ist die Erleichterung der Paketverwaltung für den gesamten von Benutzern benötigten Software-Stack, von dem eine oder mehrere Python-Versionen möglicherweise nur einen kleinen Teil ausmachen. Dies umfasst Bibliotheken auf niedriger Ebene wie lineare Algebra, Compiler wie mingw unter Windows, Editoren, Tools zur Versionskontrolle wie Hg und Git oder alles , was sonst noch Verteilung und Verwaltung erfordert .
Für die Versionsverwaltung können Sie mit pip zwischen mehreren Pythons wechseln und diese verwalten Umgebungen .
Mit Conda können Sie zwischen mehreren Allzweckumgebungen wechseln und diese verwalten in denen die Versionsnummer mehrerer anderer Dinge variieren kann, z. B. C-Bibliotheken, Compiler, Testsuiten, Datenbankmodule usw.
Conda ist nicht Windows-zentriert, aber unter Windows ist es bei weitem die überlegene Lösung, die derzeit verfügbar ist, wenn komplexe wissenschaftliche Pakete, die kompiliert werden müssen, installiert und verwaltet werden müssen.
Ich möchte weinen, wenn ich daran denke, wie viel Zeit ich beim Versuch verloren habe, viele dieser Pakete über pip unter Windows zu kompilieren, oder fehlgeschlagene
pip install
Sitzungen zu debuggen , wenn eine Kompilierung erforderlich war.Als letzter Punkt, Continuum Analytics auch Gastgeber (kostenlos) binstar.org (heute anaconda.org ) regelmäßige Paket , damit Entwickler ihre eigenen erstellen (gebaut!) Software - Stacks , dass ihr Paket-Benutzer in der Lage sein wird,
conda install
aus.quelle
Keras
in meinen Code importiert , Anaconda auf meinem Macconda
installiert und Keras ist sowohl installiert als auchpip
installiert. Woher weiß ich beim Ausführen meines Codes im Terminal, welcher Codekeras
importiert wird (derpip
eine oder derconda
eine)?Um Sie nicht weiter zu verwirren, können Sie Pip auch in Ihrer Conda-Umgebung verwenden, wodurch die obigen allgemeinen und pythonspezifischen Manager-Kommentare überprüft werden.
Sie können Pip auch zu Standardpaketen jeder Umgebung hinzufügen, damit es jedes Mal vorhanden ist, damit Sie dem obigen Snippet nicht folgen müssen.
quelle
fully supported
?fully recommended
impliziert, dass es meiner Meinung nach besser ist, pip als conda innerhalb einer conda-Umgebung zu verwenden, und ich bin mir nicht sicher, ob Sie das meinen?Zitat aus dem Artikel von Conda for Data Science auf der Website von Continuum:
quelle
Zitat aus Conda: Mythen und Missverständnisse (eine umfassende Beschreibung):
...
Mythos Nr. 3: Conda und Pip sind direkte Konkurrenten
Realität: Conda und Pip dienen unterschiedlichen Zwecken und konkurrieren nur direkt in einer kleinen Teilmenge von Aufgaben: der Installation von Python-Paketen in isolierten Umgebungen.
Pip, das steht für P ip I nstalls P ackages steht, ist Pythons offiziell genehmigter Paketmanager und wird am häufigsten zum Installieren von Paketen verwendet, die im Python Package Index (PyPI) veröffentlicht sind. Sowohl pip als auch PyPI werden von der Python Packaging Authority (PyPA) verwaltet und unterstützt.
Kurz gesagt, pip ist ein Allzweckmanager für Python-Pakete. conda ist ein sprachunabhängiger plattformübergreifender Umgebungsmanager. Für den Benutzer ist der wichtigste Unterschied wahrscheinlich folgender: pip installiert Python-Pakete in jeder Umgebung; conda installiert jedes Paket in conda-Umgebungen. Wenn Sie lediglich Python-Pakete in einer isolierten Umgebung installieren, sind conda und pip + virtualenv größtenteils austauschbar, wobei sich die Abhängigkeitsbehandlung und die Paketverfügbarkeit unterscheiden. Mit isolierter Umgebung meine ich eine conda-env oder virtualenv, in der Sie Pakete installieren können, ohne die Python-Installation Ihres Systems zu ändern.
Selbst wenn wir Mythos Nr. 2 beiseite lassen, dienen conda und pip unterschiedlichen Zielgruppen und unterschiedlichen Zwecken, wenn wir uns nur auf die Installation von Python-Paketen konzentrieren. Wenn Sie beispielsweise Python-Pakete in einer vorhandenen Python-Systeminstallation verwalten möchten, kann conda Ihnen nicht helfen: Von Natur aus kann es nur Pakete in conda-Umgebungen installieren. Wenn Sie beispielsweise mit den vielen Python-Paketen arbeiten möchten, die auf externen Abhängigkeiten basieren (NumPy, SciPy und Matplotlib sind gängige Beispiele), und pip diese Abhängigkeiten auf sinnvolle Weise verfolgen möchten, kann pip Ihnen nicht helfen: verwaltet Python-Pakete und nur Python-Pakete.
Conda und Pip sind keine Konkurrenten, sondern Tools, die sich auf verschiedene Benutzergruppen und Nutzungsmuster konzentrieren.
quelle
Für WINDOWS-Benutzer
Die Situation mit "Standard" -Verpackungswerkzeugen verbessert sich in letzter Zeit:
Auf Pypi selbst gibt es ab September 48% der Radpakete. 11. 2015 (gegenüber 38% im Mai 2015, 24% im September 2014),
Das Wheel-Format wird jetzt standardmäßig gemäß Python 2.7.9 unterstützt.
Die Situation bei "Standard" + "Tweaks" -Verpackungswerkzeugen verbessert sich ebenfalls:
Sie finden fast alle wissenschaftlichen Pakete im Radformat unter http://www.lfd.uci.edu/~gohlke/pythonlibs ,
Das Mingwpy-Projekt bietet Windows-Benutzern möglicherweise eines Tages ein Kompilierungspaket, mit dem bei Bedarf alles von der Quelle installiert werden kann.
"Conda" -Verpackungen bleiben für den Markt, den sie bedienen, besser und zeigen Bereiche auf, in denen sich der "Standard" verbessern sollte .
(Auch die Abhängigkeitsspezifikation mit mehreren Anstrengungen im Standard-Radsystem und im Conda-System oder im Buildout ist nicht sehr pythonisch. Es wäre schön, wenn alle diese „Kern“ -Techniken der Verpackung über eine Art PEP konvergieren könnten.)
quelle
pip
ist ein Paketmanager.conda
ist sowohl ein Paketmanager als auch ein Umgebungsmanager.Detail:
Verweise
quelle
Klar, beides (erster Ansatz auf Seite)
und (dritter Ansatz, zweiter ist
conda
)sind offiziell empfohlene Möglichkeiten zur Installation .
Wie hier gesagt :
Conda übertrifft Pip in ( YMMV )
Das wird von allen anderen ausführlich beantwortet.
quelle
pip
ist nur für Pythonconda
ist nur für Anaconda + andere wissenschaftliche Pakete wie R-Abhängigkeiten usw. NICHT jeder braucht Anaconda, das bereits mit Python geliefert wird. Anaconda ist hauptsächlich für diejenigen gedacht, die maschinelles Lernen / Deep Learning usw. betreiben. Gelegenheits-Python-Entwickler führen Anaconda nicht auf seinem Laptop aus.quelle
Möglicherweise habe ich einen weiteren geringfügigen Unterschied festgestellt. Ich habe meine Python-Umgebungen
/usr
eher unter als/home
oder was auch immer. Um es zu installieren, müsste ich verwendensudo install pip
. Für mich ist die unerwünschte Nebenwirkungsudo install pip
war etwas anders als das, was an anderer Stelle ausführlich berichtet: Nach so tun, ich laufen musstepython
mit ,sudo
um eine der zu importierendensudo
-Installierte Pakete. Ich gab das auf und stellte schließlich fest, dass ichsudo conda
Pakete in einer Umgebung installieren konnte, unter/usr
der sie dann normal importiert wurden, ohne dass einesudo
Erlaubnis dafür erforderlich warpython
. Ich habe sogarsudo conda
einen Defekt behoben,pip
anstattsudo pip uninstall pip
oder zu verwendensudo pip --upgrade install pip
.quelle