TL; DR: esiste un modo per agganciare lo 'sviluppo' di setuptool per installare una serie di requisiti di sviluppo durante l'esecuzione di python setup.py develop
?Setuptools "development" Requisiti
Sto costruendo il mio primo pacchetto python usando setuptools. Sto specificando i requisiti:
requirements = [
'click',
'ansible',
'fabric',
'gitpython',
'pyyaml',
'jinja2',
'yapsy'
]
test_requirements = [
'pytest',
'pytest-pep8',
'pytest-cov',
]
setup(
...
install_requires=requirements,
tests_require=test_requirements,
...
)
Durante lo sviluppo, sono stato l'installazione del pacchetto (in un ambiente virtuale) con:
python setup.py develop
e disinstallazione con:
python setup.py develop -u
Il pacchetto usa entry_points per installare alcuni script da riga di comando, quindi questo imposta i comandi per me e mi consente di modificare il pacchetto mentre collaudo il comando allo stesso tempo.
Ho anche alcune dipendenze che uso per lo sviluppo ... sfinge + estensioni e un altro paio di cose (cose che non sono necessarie per usare il pacchetto). Sto solo installandoli manualmente nell'ambiente virtuale al momento. Non ho visto alcuna documentazione (e non ho trovato esempi sui google) su come collegarli con setuptools.
Forse c'è un modo per collegare "setup.py develop" per installare un set aggiuntivo di requisiti? Un altro metodo di cui non ho letto?
Per scopi di sviluppo, consigliamo di utilizzare un 'requirements.txt' per bloccare le versioni del pacchetto per un ambiente di sviluppo, quindi eseguire' pip install -r requirements.txt' per distribuire quell'ambiente. Questo è il tipo di caso d'uso per cui è lì. – Iguananaut