Python setup.py ontwikkelen versus installeren

Twee opties in setup.py developen installverwarren me. Volgens deze site, maakt het gebruik van developeen speciale link naar site-packages directory.

Mensen hebben gesuggereerd dat ik python setup.py installgebruik voor een nieuwe installatie en python setup.py developnadat 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 installwordt 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 developdoet: 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.pydirect 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 developkan niet worden geïnstalleerd het pakket, maar het zal een .egg-linkin 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-packagesvoegt het een symbolische link (.egg-linkwerkt 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 developmethode is de --useroptie om te installeren zonder sudo. Vb:

python setup.py develop --user

in plaats van

sudo python setup.py develop

Other episodes