Twee opties in setup.py develop
en install
verwarren me. Volgens deze site, maakt het gebruik van develop
een speciale link naar site-packages directory.
Mensen hebben gesuggereerd dat ik python setup.py install
gebruik voor een nieuwe installatie en python setup.py develop
nadat er wijzigingen zijn aangebracht in het installatiebestand.
Kan iemand enig licht werpen op het gebruik van deze commando’s?
Antwoord 1, autoriteit 100%
python setup.py install
wordt gebruikt om pakketten (meestal van derden) te installeren die u niet zelf gaat ontwikkelen/wijzigen/debuggen.
Voor je eigen zaken wil je eerst je pakket installeren en vervolgens de code regelmatig kunnen bewerken zonderhet pakket elke keer opnieuw te hoeven installeren — en dat is precies wat python setup.py develop
doet: het installeert het pakket (meestal alleen een bronmap) op een manier die u in staat stelt uw code gemakkelijk te bewerken nadat deze in de (virtuele) omgeving is geïnstalleerd, en de wijzigingen onmiddellijk van kracht te laten worden .
Houd er rekening mee dat het sterk wordt aanbevolen om pip install .
(gewone installatie) en pip install -e .
(ontwikkelaarsinstallatie) te gebruiken om pakketten te installeren, zoals het aanroepen van setup.py
direct doet de verkeerde dingen voor veel afhankelijkheden, zoals pull-prereleases en incompatibele pakketversies, of maakt het moeilijk om het pakket te verwijderen met pip
.
Antwoord 2, autoriteit 25%
Van de documentatie . De develop
kan niet worden geïnstalleerd het pakket, maar het zal een .egg-link
in de inzet directory terug naar het project broncode directory.
Dus het is zoals het installeren maar in plaats van het kopiëren naar de site-packages
voegt het een symbolische link (.egg-link
werkt als een multiplatform symbolische link).
Op die manier kun je de broncode bewerken en direct te zien de veranderingen zonder dat elke keer dat u een kleine verandering te maken opnieuw te installeren. Dit is handig wanneer u de ontwikkelaar van dat project, vandaar de naam develop
. Als je gewoon installeert andermans pakket dat u moet gebruiken install
Antwoord 3, autoriteit 5%
Een ander ding dat de mensen van nut kunnen zijn bij gebruik van de develop
methode is de --user
optie om te installeren zonder sudo. Vb:
python setup.py develop --user
in plaats van
sudo python setup.py develop