web-dev-qa-db-de.com

So installieren Sie PyPi-Pakete mit dem Befehl anacaonda conda

Wie installiere ich ein PyPi-Paket, das nicht direkt über Anaconda verfügbar ist, wenn ich die Anacoda Python=) -Distribution verwende?

conda pipbuild [pypi_name]
conda install --use-local [package_spec]

Aber ich bin mir nicht sicher, ob dies der beste Weg ist und ob conda update --all aktualisiert diese Pakete, sobald Updates verfügbar sind. Mir ist auch nicht klar, wozu binstar gut ist, wenn PyPi bereits existiert.

24
user1507844

Wenn Sie Conda-Pakete für PyPI-Pakete erstellen möchten, wird empfohlen, conda skeleton pypi package Und conda build package Für das erstellte Rezept zu verwenden. Sie müssen das Rezept jedes Mal aktualisieren, wenn das Paket aktualisiert wird.

Sie können diese Pakete auch mit pip installieren. Der Nachteil hierbei ist, dass diese Pakete überhaupt nicht von conda verwaltet werden.

27
asmeurer

Ich werde mit der akzeptierten Antwort nicht einverstanden sein und feststellen, dass pip install [some-pypi-package] ist oft die beste Möglichkeit, PyPi-Pakete in Conda-Umgebungen zu installieren.

Während die Pakete nicht vom Conda-Paketmanager verwaltet werden, werden sie dennoch von der Anaconda-Umgebung verwaltet. Es wird die richtige Version des Pakets für die aktive Python) -Installation heruntergeladen und mit dem pip -Paketmanager korrekt aktualisiert.

Wenn Sie Anaconda verwenden, sollten Sie sich nach Möglichkeit an conda vor pip wenden, aber Sie verlieren keinen der Vorteile der Replizierbarkeit von Anaconda, wenn Sie pip verwenden.

31
Chris Conlan

Seit Version 4.6. hat Conda die Interoperabilität mit pip verbessert:

Conda und Pip hatten in der Vergangenheit Schwierigkeiten, miteinander auszukommen. Pip hat die Umgebungseinschränkungen von Conda nicht beachtet, während Conda nur allzu gern von Pip installierte Software bereinigt hat. Es ist ein Chaos. Conda 4.6.0 bietet Vorschau-Unterstützung für eine bessere Interoperabilität. Mit dieser Interoperabilität kann Conda pip-installierte Pakete verwenden, um Abhängigkeiten zu erfüllen, und sogar pip-installierte Software sauber entfernen und gegebenenfalls durch Conda-Pakete ersetzen. Es gibt noch Raum für Verbesserungen, bevor Pip und Conda hochkarätige BFFs sind, aber wir hoffen, dass dies ein guter Anfang ist. Diese Funktion ist derzeit standardmäßig deaktiviert, da sie die Leistung von Conda erheblich beeinträchtigen kann. Wenn Sie es versuchen möchten, können Sie diese condarc-Einstellung festlegen:

conda config --set pip_interop_enabled True

Der Weg, PyPI-Pakete (zum Zeitpunkt des Schreibens) in conda zu bringen, scheint also zu sein:

pip install <package>

Wenn conda die PyPI-Pakete durch eigene ersetzen soll (soweit möglich), führen Sie einfach Folgendes aus:

conda update --all

Vorausgesetzt, dass die obige Einstellung vorgenommen wird. Conda kennzeichnet seine eigenen Kanäle als höher priorisiert als pip, daher werden Pakete ersetzt.

0
NichtJens