Maison > développement back-end > Tutoriel Python > Pourquoi mon « setup.py » ne parvient-il pas à inclure les données du package ?

Pourquoi mon « setup.py » ne parvient-il pas à inclure les données du package ?

Linda Hamilton
Libérer: 2024-11-02 15:17:29
original
751 Les gens l'ont consulté

Why Does My `setup.py` Fail to Include Package Data?

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>
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal