Inclure les données du package avec setuptools/distutils
Problème :
Malgré le respect des étapes recommandées pour inclure les données du package à l'aide de setuptools, le programme d'installation ne parvient pas à extraire les fichiers pertinents. Le code d'installation suivant devrait activer cette fonctionnalité :
<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>
Explication :
Le problème survient en raison d'une différence subtile entre package_data et MANIFEST.in, plus fiable. package_data est principalement utilisé lors de la création de packages binaires (par exemple, python setup.py bdist ...), mais il ne fonctionne pas pour créer des packages source (par exemple, python setup.py sdist ...).
Solution :
Pour inclure efficacement les données du package pour les distributions binaires et sources, il est recommandé d'utiliser MANIFEST.in. Voici un exemple :
include appname/data/*.txt
Placez ce fichier à la racine de votre projet. Il demandera aux commandes bdist et sdist d'inclure les fichiers de données spécifiés. Cette méthode garantit que quel que soit le type de distribution en cours de construction, les données requises sont correctement empaquetées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!