web-dev-qa-db-fra.com

Comment installer les packages PyPi à l'aide de la commande anacaonda conda

Lorsque vous utilisez la distribution Anacoda Python, quelle est la meilleure façon d'installer un package PyPi qui n'est pas disponible directement via Anaconda? Pour l'instant, j'utilise:

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

Mais je ne sais pas si c'est la meilleure façon et si conda update --all mettra à jour ces packages lorsque des mises à jour seront disponibles. Je ne sais pas non plus à quoi sert binstar lorsque PyPi existe déjà.

24
user1507844

Si vous souhaitez créer des packages conda pour les packages PyPI, la méthode recommandée consiste à utiliser conda skeleton pypi package et utilise conda build package sur la recette qu'il crée. Vous devrez mettre à jour la recette à chaque mise à jour de l'emballage.

Vous pouvez également utiliser pip pour installer ces packages. L'inconvénient ici est que ces paquets ne seront pas du tout gérés par conda.

27
asmeurer

Je ne suis pas d'accord avec la réponse acceptée et je note que pip install [some-pypi-package] est souvent le meilleur moyen d'installer des packages PyPi dans des environnements Conda.

Bien que les packages ne soient pas gérés par le gestionnaire de packages Conda, ils seront toujours gérés par l'environnement Anaconda. Il va télécharger la version correcte du package pour l'installation Python active et la mettre à jour correctement à l'aide du gestionnaire de packages pip).

Lorsque vous utilisez Anaconda, vous devez vous tourner vers conda avant pip lorsque vous le pouvez, mais vous ne perdez aucun des avantages de réplicabilité de l'utilisation d'Anaconda lorsque vous utilisez pip.

31
Chris Conlan

Depuis version 4.6. , Conda a amélioré son interopérabilité avec pip:

Conda et pip ont toujours eu du mal à s'entendre. Pip n'a pas respecté les contraintes d'environnement de Conda, tandis que Conda a été trop heureux d'encombrer les logiciels installés par pip. C'est le bordel. Conda 4.6.0 ajoute un support de prévisualisation pour une meilleure interopérabilité. Grâce à cette interopérabilité, Conda peut utiliser des packages installés par pip pour satisfaire les dépendances, et peut même supprimer proprement les logiciels installés par pip et les remplacer par des packages Conda le cas échéant. Il y a encore place à amélioration avant que pip et Conda ne soient des meilleurs amis, mais nous espérons que c'est un bon début. Cette fonctionnalité est actuellement désactivée par défaut, car elle peut avoir un impact significatif sur les performances de Conda. Si vous souhaitez l'essayer, vous pouvez définir ce paramètre de condarc:

conda config --set pip_interop_enabled True

Ainsi, la façon d'obtenir des packages PyPI dans conda (au moment d'écrire ces lignes) semble être:

pip install <package>

Si vous souhaitez que conda remplace les packages PyPI par les siens (si possible), exécutez simplement:

conda update --all

Étant donné que le réglage ci-dessus est effectué. Conda marque ses propres canaux comme prioritaires par rapport à pip, ainsi les packages seront remplacés.

0
NichtJens