Ich benutze Setuptools, um mein Python-Paket zu verteilen. Jetzt muss ich zusätzliche Datendateien verteilen.
Nach dem, was ich aus der setuptools-Dokumentation zusammengetragen habe, muss ich meine Datendateien im Paketverzeichnis haben. Ich möchte meine Datendateien jedoch lieber in einem Unterverzeichnis im Stammverzeichnis haben.
Was ich vermeiden möchte:
/ #root
|- src/
| |- mypackage/
| | |- data/
| | | |- resource1
| | | |- [...]
| | |- __init__.py
| | |- [...]
|- setup.py
Was ich stattdessen gerne hätte:
/ #root
|- data/
| |- resource1
| |- [...]
|- src/
| |- mypackage/
| | |- __init__.py
| | |- [...]
|- setup.py
Ich fühle mich einfach nicht wohl mit so vielen Unterverzeichnissen, wenn es nicht wesentlich ist. Ich finde keinen Grund, warum ich die Dateien im Paketverzeichnis ablegen muss. Es ist meiner Meinung nach auch umständlich, mit so vielen verschachtelten Unterverzeichnissen zu arbeiten. Oder gibt es einen guten Grund, der diese Einschränkung rechtfertigen würde?
__init__.py
Datei hinzufügen , auch wenn diese Datei leer ist. Sie können also ein Datenverzeichnis mit einer leeren __init__.py
Datei getrennt halten , damit es wie ein Paket aussieht. Das sollte verhindern, dass grep aus Ihrem Quellbaum sie aufnimmt, aber es wird von Python und seinen Build-Tools weiterhin als Paket erkannt.