Maison  >  Article  >  développement back-end  >  Comment garantir que les données de votre package sont incluses dans les distributions binaires et sources à l'aide de setuptools/distutils ?

Comment garantir que les données de votre package sont incluses dans les distributions binaires et sources à l'aide de setuptools/distutils ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 06:13:02420parcourir

How to Ensure Your Package Data Is Included in Both Binary and Source Distributions Using setuptools/distutils?

Surmonter les défis d'inclusion de données de package avec setuptools/distutils

L'incorporation de données de package dans des packages Python distribuables présente souvent des défis, en particulier lors de l'utilisation de setuptools ou de distutils. Malgré les idées reçues, certains utilisateurs rencontrent des difficultés à faire en sorte que le programme d'installation récupère les fichiers souhaités.

Pièges de package_data

La configuration fournie dans la question :

<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>

apparaît correct sur la base de la documentation établie. Cependant, comme le souligne judicieusement la réponse, cette approche ne suffit pas lorsqu'il s'agit de versions binaires (python setup.py bdist ...). Le mécanisme package_data n'est pas utilisé dans ce scénario.

La solution : MANIFEST.in

Pour inclure de manière fiable les données du package dans les distributions binaires et sources, le fichier MANIFEST.in fournit une alternative robuste. MANIFEST.in est un manifeste personnalisable qui répertorie explicitement les fichiers à incorporer dans le package. En utilisant cette méthode, les développeurs peuvent garantir que toutes les données nécessaires sont présentes dans les deux scénarios d'installation.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn