Einbinden von Paketdaten mit setuptools/distutils
Bei der Konfiguration der Paketinstallation mit setuptools kann es zu Schwierigkeiten beim Einbinden von package_data-Dateien kommen. Dieser Artikel befasst sich mit dem richtigen Ansatz hierfür und bietet eine Lösung für häufige Probleme.
Falscher Ansatz
Der falsche Ansatz besteht darin, package_data zu definieren und include_package_data auf „True“ zu setzen siehe Beispiel:
<code class="python">setup( name='myapp', packages=find_packages(), package_data={ 'myapp': ['data/*.txt'], }, include_package_data=True, zip_safe=False, install_requires=['distribute'], )</code>
Richtiger Ansatz
Das Problem mit dem falschen Ansatz besteht darin, dass package_data nur beim Erstellen von Binärpaketen verwendet wird (z. B. Python-Setup). .py bdist ...), jedoch nicht beim Erstellen von Quellpaketen (z. B. python setup.py sdist ...).
Der richtige Ansatz besteht darin, MANIFEST.in zu verwenden, um Dateien anzugeben, die sowohl in Binär- als auch in Quelldistributionen enthalten sind . Hier ist ein Beispiel einer MANIFEST.in-Datei:
include *.txt recursive-include myapp/data *
Durch die Verwendung von MANIFEST.in können Sie sicherstellen, dass alle erforderlichen Paketdaten enthalten sind, unabhängig vom zu erstellenden Distributionstyp.
Das obige ist der detaillierte Inhalt vonWie füge ich Paketdaten ordnungsgemäß in setuptools/distutils ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!