TL; DR: Gibt es eine Möglichkeit, setuptool "zu entwickeln", um eine Reihe von Entwicklungsanforderungen zu installieren, wenn python setup.py develop
ausgeführt wird?Setuptools "Entwicklung" Anforderungen
Ich baue mein erstes Python-Paket mit setuptools. Ich bin unter Angabe der Anforderungen:
requirements = [
'click',
'ansible',
'fabric',
'gitpython',
'pyyaml',
'jinja2',
'yapsy'
]
test_requirements = [
'pytest',
'pytest-pep8',
'pytest-cov',
]
setup(
...
install_requires=requirements,
tests_require=test_requirements,
...
)
Während der Entwicklung, ich habe das Paket gewesen Installation (in einer virtuellen Umgebung) mit:
python setup.py develop
und Deinstallation mit:
python setup.py develop -u
Das Paket verwendet entry_points, um einige Befehlszeilenskripts zu installieren. Dadurch werden die Befehle für mich eingerichtet und ich kann das Paket bearbeiten, während ich gleichzeitig den Befehl teste.
Ich habe auch einige Abhängigkeiten, die ich für die Entwicklung verwenden ... Sphinx + Erweiterungen und ein paar andere Dinge (Dinge, die nicht benötigt werden, um das Paket zu verwenden). Ich installiere sie gerade manuell in der virtuellen Umgebung. Ich habe keine Dokumentation (und habe keine Beispiele in den Google-Dateien gefunden) darüber gefunden, wie man sie mit Setup-Tools verbinden kann.
Vielleicht gibt es eine Möglichkeit, 'setup.py develop' zu installieren, um zusätzliche Anforderungen zu installieren? Eine andere Methode, von der ich nichts gelesen habe?
Für Entwicklungszwecke würde ich empfehlen, eine 'requirements.txt' zu verwenden, um Paketversionen für eine Entwicklungsumgebung zu pinten, und dann' pip install -r requirements.txt' auszuführen, um diese Umgebung bereitzustellen. Das ist die Art von Anwendungsfall, für den es da ist. – Iguananaut