Zwei Optionen in setup.py develop
und install
verwirren mich. Entsprechend site erstellt die Verwendung von develop
einen speziellen Link zum Site-Paketverzeichnis.
Die Leute haben vorgeschlagen, dass ich python setup.py install
für eine Neuinstallation und python setup.py develop
nachdem Änderungen an der Setup-Datei vorgenommen wurden.
Kann jemand etwas Licht in die Verwendung dieser Befehle bringen?
python setup.py install
Wird verwendet, um Pakete (normalerweise von Drittanbietern) zu installieren, die Sie nicht selbst entwickeln/ändern/debuggen werden.
Für Ihre eigenen Sachen möchten Sie zuerst Ihr Paket installieren und dann in der Lage sein, den Code häufig zu bearbeiten ohne das Paket jedes Mal neu installieren zu müssen - und genau das ist python setup.py develop
Funktioniert: Das Paket (normalerweise nur ein Quellordner) wird so installiert, dass Sie Ihren Code nach der Installation in der (virtuellen) Umgebung bequem bearbeiten können und die Änderungen sofort wirksam werden.
Beachten Sie, dass die Verwendung von pip install .
(Installieren) und pip install -e .
(Installieren durch Entwickler) zur Installation von Paketen dringend empfohlen wird, da das direkte Aufrufen von setup.py
Für viele Abhängigkeiten die falschen Aktionen ausführt. B. Vorabversionen und inkompatible Paketversionen abrufen oder die Deinstallation des Pakets mit pip
erschweren.
Aus der Dokumentation . Das develop
installiert das Paket nicht, erstellt jedoch einen .Egg-link
Im Bereitstellungsverzeichnis zurück zum Projektquellcodeverzeichnis.
Es ist also wie beim Installieren, aber anstatt in den site-packages
Zu kopieren, wird ein symbolischer Link hinzugefügt (der .Egg-link
Fungiert als symbolischer Multiplattform-Link).
Auf diese Weise können Sie den Quellcode bearbeiten und die Änderungen direkt anzeigen , ohne dass Sie bei jeder kleinen Änderung eine Neuinstallation vornehmen müssen . Dies ist nützlich, wenn Sie der Entwickler dieses Projekts sind, daher der Name develop
. Wenn Sie nur das Paket einer anderen Person installieren, sollten Sie install
verwenden.
Eine andere Sache, die die Leute vielleicht nützlich finden, wenn sie die develop
-Methode verwenden, ist die --user
Option zur Installation ohne Sudo. Ex:
python setup.py develop --user
anstatt von
Sudo python setup.py develop