webentwicklung-frage-antwort-db.com.de

"pip install --editable ./" vs "python setup.py develop"

Gibt es einen signifikanten Unterschied zwischen

pip install -e /path/to/mypackage

und die setuptools variante?

python /path/to/mypackage/setup.py develop
137
PeterE

Versuchen Sie zu vermeiden, setup.py Direkt aufzurufen, da dies pip nicht richtig mitteilt, dass Sie Ihr Paket installiert haben.

Mit pip install -e:

Bei lokalen Projekten wird das Verzeichnis „SomeProject.Egg-info“ relativ zum Projektpfad erstellt. Dies ist ein Vorteil gegenüber der Verwendung von setup.py develop, Mit dem die "Ei-Info" direkt relativ zum aktuellen Arbeitsverzeichnis erstellt wird.

Mehr: docs

Lesen Sie auch die setuptools ' docs .

100
sobolevn

Ein weiterer Unterschied: pip install -e verwendet Rad, während python setup.py develop
benutzt es nicht.

Mit install können Sie dasselbe Verhalten erzielen, indem Sie verwenden
pip install -e /path/to/package --no-use-wheel

Mehr Infos zu Rädern: Pythonräder

67
user2488286

Ein weiterer Unterschied, der pip install -e Begünstigen könnte, besteht darin, dass, wenn Ihr Projekt Abhängigkeiten in install_requires In setup.py Aufweist, pip install -e . Abhängigkeiten mit pip installiert, während python setup.py develop kann mit easy_install installiert werden und kann, wie oben erwähnt, zu Problemen mit 'Egg-info' führen. Wenn install-requiresdependency_links Mit benutzerdefinierten Git-URLs und angehängten Ei-IDs verwendet, kann dies besonders ärgerlich sein.

28
ely