2015-05-18 13 views
70

Gibt es einen signifikanten Unterschied zwischen"BIB --editable installieren ./" vs "Python setup.py entwickeln"

pip install -e /path/to/mypackage 

und die Setuptools Variante?

python /path/to/mypackage/setup.py develop 
+1

Dies erscheint eine aktualisierte Link beschreibt Entwicklungsmodus zu sein: https://setuptools.readthedocs.io/en/latest/setuptools.html?highlight=development%20mode#develop-deploy-the-project-source-in- Entwicklungsmodus – PaulR

Antwort

55

Es gibt keinen großen Unterschied.

Mit pip install -e für lokale Projekte, die „SomeProject.egg-info“ Verzeichnis wird relativ zum Projektpfad erstellt. Dies ist ein Vorteil gegenüber der Verwendung von setup.py develop, das die "Ei-Info" direkt in Bezug auf das aktuelle Arbeitsverzeichnis erstellt. Mehr: docs

Lesen Sie auch die Setuptools docs.

41

Ein weiterer Unterschied: pip install -e Anwendungen Rad während python setup.py develop
es nicht verwenden.

Mit install, könnten Sie das gleiche Verhalten erreichen, indem er mit
pip install -e /path/to/package --no-use-wheel

Mehr Informationen auf Räder: python wheels

+4

Beachten Sie, dass, nach https://pip.pypa.io/en/stable/reference/pip_install/, '--no-use-wheel' zugunsten von' --no-binary: all dekomprimiert : ' – Nzbuu

3

Einen weiteren Unterschied, dass begünstigen pip install -e ist, dass, wenn Ihre Projektabhängigkeiten in install_requires in setup.py haben, dann pip install -e . installiert Abhängigkeiten mit Pip, während python setup.py develop kann mit easy_install installiert werden, und kann Probleme verursachen re: 'Ei-Info' wie oben erwähnt. Wenn install-requiresdependency_links mit benutzerdefinierten Git-URLs mit angehängten Ei-IDs verwendet, kann dies besonders ärgerlich sein.

Verwandte Themen