Maison > développement back-end > Tutoriel Python > Comment inclure correctement les données du package avec setuptools/distutils ?

Comment inclure correctement les données du package avec setuptools/distutils ?

Susan Sarandon
Libérer: 2024-11-03 22:16:03
original
376 Les gens l'ont consulté

How to Properly Include Package Data with setuptools/distutils?

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

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

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!

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