web-dev-qa-db-fra.com

Quel est le cas d'utilisation de `pip install -e`

Lorsque je dois travailler sur l'un de mes projets pour animaux de compagnie, je clone simplement le référentiel comme d'habitude (git clone <url>), modifiez ce dont j'ai besoin, exécutez les tests, mettez à jour le setup.py version, commit, Push, construire les packages et les télécharger sur PyPI.

Quel est l'avantage d'utiliser pip install -e? Dois-je l'utiliser? Comment cela améliorerait-il mon flux de travail?

Si cela vous aide, voici mes deux projets pour animaux de compagnie que j'emballe et envoie actuellement à PyPI, mais jamais utilisés pip install -e. L'un est pur Python, l'autre est un Django.

Comment le flux de travail ou la structure du projet serait-il amélioré en utilisant pip install -e?

22
jpmelos

En utilisant pip install -e . peut être utile si vous souhaitez exécuter vos packages avec python package.py et vous importez d'autres modules de votre projet à partir de ce fichier. La commande les rend trouvables!

Ce qu'il fait, c'est:

  • installe site-packages/PackageName.Egg-link fichier
  • ajoute un chemin à site-packages/easy-install.pth
  • installe éventuellement des cibles CLI dans <venv>/bin

Il semble que l'un des deux précédents soit suffisant, et ce dernier est pratique lors du développement d'utilitaires de ligne de commande.

17
jpmelos

pip install -e est la façon dont les dépendances setuptools sont gérées via pip. Ce que vous faites généralement, c'est d'installer les dépendances:

  • git clone URL
  • cd project
  • courir pip install -e . ou pip install -e .[dev] *

Et maintenant, toutes les dépendances doivent être installées.

*[dev] est le nom du groupe d'exigences de setup.py


Outre setuptools (Egg), il existe également un système de roue installation python . Ces deux systèmes sont basés sur la promesse qu'aucune construction et compilation n'est effectuée.

2
prosti