Was ist der Unterschied zwischen Pip und Conda?
Ich weiß pip
ist ein Paket-manager für python-Pakete. Allerdings sah ich die installation auf IPython website verwenden conda
zu installieren IPython.
Kann ich pip
zu IPython installieren? Warum sollte ich conda
als ein weiteres python-package-manager, wenn ich schon pip
?
Was ist der Unterschied zwischen pip
und conda
?
InformationsquelleAutor der Frage lazywei | 2014-01-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zitat aus dem Conda blog:
So Conda ist eine Verpackung Werkzeug-und Installationsprogramm, das darauf abzielt, mehr zu tun als das, was
pip
hat; verarbeiten der Bibliothek Abhängigkeiten außerhalb der Python-Pakete als auch die Python-Pakete selbst. Conda auch schafft eine virtuelle Umgebung, wievirtualenv
tut.Als solche, Conda verglichen werden sollte, Buildout vielleicht ein anderes tool, mit dem Sie behandelt sowohl Python und nicht die Python-installation Aufgaben.
Weil Conda führt eine neue Verpackung-format verwenden, können Sie
pip
und Conda austauschbar;pip
Installation nicht mit der Conda-Paket-format. Sie können die beiden tools nebeneinander (durch die Installationpip
mitconda install pip
), aber Sie nicht zusammenarbeiten.InformationsquelleAutor der Antwort Martijn Pieters
Hier ein kurzer überblick:
pip
conda
conda build
baut, dass Pakete aus den Quellen, aberconda install
selbst installiert die Dinge aus, die bereits gebaut conda-Pakete.In beiden Fällen:
Den ersten zwei Aufzählungszeichen von conda wirklich was machen, es lohnt sich über pip für viele Pakete. Da pip installiert von der Quelle, es kann schmerzhaft sein, die Dinge zu installieren, wenn Sie nicht in der Lage sind, den Quellcode zu kompilieren (dies ist vor allem auf Windows, aber es kann auch wahr sein, der auf Linux, wenn die Pakete haben einige schwierige C-oder FORTRAN-library-Abhängigkeiten). Conda installiert, von Binär, was bedeutet, dass jemand (z.B., Kontinuum) hat bereits getan, die harte Arbeit, kompilieren Sie das Paket, und so die installation ist einfach.
Gibt es auch einige Unterschiede, wenn Sie daran interessiert sind, Ihre eigenen Pakete erstellen. Zum Beispiel, pip baut auf setuptools, in der Erwägung, dass conda verwendet ein eigenes format, die einige Vorteile hat (wie statisch, und wieder, Python Agnostiker).
InformationsquelleAutor der Antwort asmeurer
Die andere Antworten geben, eine faire Beschreibung der details, aber ich möchte hervorheben, einige high-level-Punkte.
pip ist ein Paket-manager erleichtert die installation, Aktualisierung und deinstallation von python-Pakete. Es funktioniert auch mit virtuellen python Umgebungen.
conda ist ein Paket-manager für jede software (installation, upgrade oder deinstallation). Es funktioniert auch mit virtuellen system Umgebungen.
Eines der Ziele, die mit der Gestaltung von conda ist die Erleichterung des Paket-management für die gesamte software-stack benötigt vom Anwender, von denen eine oder mehrere python-Versionen kann nur ein kleiner Teil. Dies umfasst low-level-Bibliotheken, wie z.B. lineare algebra, Compiler wie mingw auf Windows, Redaktion, version control tools wie Hg und Git, oder was sonst erfordert die Verteilung und die Verwaltung.
Versionsverwaltung, pip schalten Sie zwischen ein und verwalten Sie mehrere python Umgebungen.
Conda ermöglicht Ihnen das Umschalten zwischen ein und verwalten mehrere Allzweck-Umgebungenüber welche mehrere andere Dinge kann je nach Versionsnummer, wie C-Bibliotheken oder Compiler oder test-suites, oder Datenbank-engines und so weiter.
Conda ist nicht Windows-centric, aber auf Windows ist es die bei weitem beste Lösung, die derzeit verfügbar sind, wenn komplexe wissenschaftliche Pakete erfordern Zusammenstellung sind erforderlich, um installiert werden und verwaltet werden.
Ich will Weinen, wenn ich daran denke, wie viel Zeit ich verloren habe versucht zu kompilieren, die viele dieser Pakete per pip auf Windows, oder debug fehlgeschlagen
pip install
Veranstaltungen bei der Zusammenstellung erforderlich war.Als letzten Punkt, Continuum Analytics beherbergt auch (kostenlos) binstar.org (jetzt genannt repo.Kontinuum.io) zu ermöglichen, regulären Paket-Entwickler zum erstellen Ihrer eigenen benutzerdefinierten (gebaut!) software-stacks, die Ihre Paket-Nutzer können
conda install
aus.InformationsquelleAutor der Antwort Caleb Hattingh
Nicht zu verwechseln Sie weiter
aber können Sie auch pip in Ihrem conda Umgebung, die überprüft, der Allgemeine vs. python-spezifischen Manager Kommentare oben.
können Sie auch pip in Standard-Pakete von jeder Umgebung, so dass es vorhanden ist jedes mal, so dass Sie nicht haben, um befolgen Sie die oben genannten snippet.
InformationsquelleAutor der Antwort vijay venkatesh
Zitat von Conda für Data Science Artikel auf Kontinuum website:
InformationsquelleAutor der Antwort CheTesta
Für WINDOWS-Benutzer
"standard" Verpackung Werkzeuge situation verbessert sich erst kürzlich:
auf pypi selbst, es sind jetzt 48% der Rad-Pakete ab sept. 11. 2015 (von 38% im Mai 2015 , 24% im sept. 2014),
den Rad-format wird nun unterstützt out-of-the-box-pro neueste python 2.7.9,
"standard"+"tweaks" packaging tools, die situation verbessert sich auch:
finden Sie fast alle wissenschaftlichen Pakete, die auf Rad-format an http://www.lfd.uci.edu/~gohlke/pythonlibs,
den mingwpy Projekt bringen kann, eines Tages eine 'compilation' - Paket für windows-Benutzer, so dass alles zu installieren von der Quelle, wenn nötig.
"Conda" Verpackung bleibt besser für den Markt Sie dient, und highlights Bereiche, in denen der "standard" sollte verbessern.
(auch, die Abhängigkeit Spezifikation mehrere Anstrengungen, die in standard-Rad-system und in der conda-system, oder buildout, ist nicht sehr pythonic, es wäre schön, wenn alle diese Verpackung "core" - Technik könnte konvergieren, über eine Art PEP)
InformationsquelleAutor der Antwort stonebig
Zitat aus Conda: Mythen und Missverständnisse (eine umfassende Darstellung):
...
Mythos #3: Conda und pip sind direkte Konkurrenten
Realität: Conda und pip unterschiedlichen Zwecken dienen, und nur direkt konkurrieren in einem kleinen Teil der Aufgaben, nämlich die Installation von Python Paketen in isolierten Umgebungen.
Pip steht für "Pip - ichnstalls Packages, ist Python ' s offiziell-sanktionierte Paket-manager, und wird am häufigsten verwendet, um Pakete zu installieren, veröffentlicht auf der Python Package Index (PyPI). Beide pip und PyPI sind geregelt und unterstützt von der Python Verpackung Behörde (PyPA).
Kurz pip, ist ein general-purpose-manager für Python-Pakete; conda ist eine sprachunabhängige cross-Plattform-Umgebung manager. Für die user, die am meisten auffallende Unterschied ist wahrscheinlich dieser: pip installs python-Pakete in jeder Umgebung; conda installiert jedes Paket innerhalb von conda-Umgebungen. Wenn alles, was Sie tun, ist die Installation von Python-packages in einer isolierten Umgebung, conda und pip+virtualenv sind meist austauschbar, modulo Unterschiede in Abhängigkeit Handhabung und Paket Verfügbarkeit. Durch die isolierte Umgebung meine ich einen conda-env oder virtualenv, in dem Sie Pakete installieren, ohne änderungen an Ihrem system Python installation.
Einmal abgesehen Mythos #2, wenn wir den Fokus nur auf die installation von Python-Paketen, conda und pip bedienen unterschiedliche Zielgruppen und unterschiedliche Zwecke. Wenn Sie wollen, sagen, verwalten Python-Pakete in ein bestehendes system Python installation, conda kann dir nicht helfen: durch design, es können nur Pakete installieren, die in conda-Umgebungen. Wenn Sie wollen, sagen, die Arbeit mit den vielen Python-Pakete, die unabhängig von externen Abhängigkeiten (NumPy, SciPy und Matplotlib sind häufige Beispiele), während der Verfolgung der Abhängigkeiten in einer sinnvollen Art und Weise, pip kann dir nicht helfen: durch design, es verwaltet Python-Paketen und nur Python-Pakete.
Conda und pip sind nicht Konkurrenten, sondern eher tools konzentriert sich auf die verschiedenen Gruppen der Nutzer und Nutzerverhalten.
InformationsquelleAutor der Antwort sancho.s
pip
ist für Python nurconda
ist nur für Anaconda + sonstige wissenschaftliche Softwarepakete wie R-Abhängigkeiten etc. NICHT jeder braucht eine Anaconda, die kommt schon mit Python. Anakonda ist vor allem für diejenigen, die tun, Machine learning und deep learning etc. Casual Python-dev wird nicht ausgeführt Anaconda auf seinem laptop.InformationsquelleAutor der Antwort Galapagos
Sicher, beide (der erste Ansatz auf der Seite)
und (Dritter Ansatz, der zweite ist
conda
)sind offiziell empfohlenen Möglichkeiten, um zu installieren.
Wie gesagt hier:
Conda übertrifft pip (YMMV)
Die ausgiebig beantwortet werden, indem alle anderen.
InformationsquelleAutor der Antwort serv-inc
pip
installiert nun binäre Räder, wenn Sie verfügbar sind.
automatisch boostraps pip).
conda
Python Agnostiker. Der Schwerpunkt der vorhandenen Pakete für Python, und in der Tat conda selbst in Python geschrieben ist, aber Sie können auch conda-Pakete für die C-Bibliotheken, oder auch R-Pakete, oder wirklich alles.
Installiert Binärdateien. Es gibt ein tool namens conda bauen, baut Pakete aus den Quellen, aber conda selbst installieren installiert die Dinge aus, die bereits gebaut conda-Pakete.
Externe. Conda ist der Paket manager von Anaconda, Python-distribution zur Verfügung gestellt von Continuum Analytics, aber es kann verwendet werden, außerhalb von Anaconda zu. Sie können es verwenden, mit dem eine vorhandene Python-installation von pip installieren (obwohl dies nicht empfohlen, es sei denn, Sie haben einen guten Grund für die Verwendung einer bestehenden installation).
In beiden Fällen:
In Python geschrieben
Open source (conda ist BSD und pip ist MIT)
Den ersten zwei Aufzählungszeichen von conda wirklich was machen, es lohnt sich über pip für viele Pakete. Da pip installiert von der Quelle, es kann schmerzhaft sein, die Dinge zu installieren, wenn Sie nicht in der Lage sind, den Quellcode zu kompilieren (dies ist vor allem auf Windows, aber es kann auch wahr sein, der auf Linux, wenn die Pakete haben einige schwierige C-oder FORTRAN-library-Abhängigkeiten). Conda installiert, von Binär, was bedeutet, dass jemand (z.B., Kontinuum) hat bereits getan, die harte Arbeit, kompilieren Sie das Paket, und so die installation ist einfach.
InformationsquelleAutor der Antwort Sonia Rani