Inclure les données du package avec setuptools/distutils
Lors de la configuration de l'installation du package à l'aide de setuptools, des difficultés peuvent survenir lors de l'incorporation des fichiers package_data. Cet article traite de l'approche correcte pour ce faire et fournit une solution aux problèmes courants.
Approche incorrecte
L'approche incorrecte implique de définir package_data et de définir include_package_data sur True, car vu dans l'exemple fourni :
<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>
Approche correcte
Le problème avec l'approche incorrecte est que package_data n'est utilisé que lors de la création de packages binaires (par exemple, la configuration de Python .py bdist ...) mais pas lors de la création de packages sources (par exemple, python setup.py sdist ...).
L'approche correcte implique d'utiliser MANIFEST.in pour spécifier les fichiers inclus dans les distributions binaires et sources . Voici un exemple de fichier MANIFEST.in :
include *.txt recursive-include myapp/data *
En utilisant MANIFEST.in, vous pouvez vous assurer que toutes les données de package nécessaires sont incluses quel que soit le type de distribution en cours de construction.
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!