Question

Je travaille sur un paquet Python qui utilise namespace_packages et find_packages() comme tant en setup.py:

from setuptools import setup, find_packages
setup(name="package",
    version="1.3.3.7",
    package=find_packages(),
    namespace_packages=['package'], ...)

Il ne contrôle pas la source, car il est un faisceau de composants en amont. Il n'y a pas MANIFESTE.

Quand je lance python setup.py sdist je reçois un tarball de la plupart des fichiers dans le répertoire de package/ mais tous les répertoires qui ne contiennent pas de fichiers .py sont laissés.

Quelles sont les règles par défaut pour ce setup.py comprend et exclut les distributions construites? J'ai fixé mon problème en ajoutant un MANIFEST.in avec

recursive-include package *

mais je voudrais comprendre ce que setuptools et distutils font par défaut.

Était-ce utile?

La solution

Vous devez ajouter une directive package_data. Par exemple, si vous voulez inclure des fichiers avec des extensions .txt ou .rst:

from setuptools import setup, find_packages
setup(name="package",
    version="1.3.3.7",
    package=find_packages(),
    include_package_data=True,
    namespace_packages=['package'], 
     package_data = {
        # If any package contains *.txt or *.rst files, include them:
        '': ['*.txt', '*.rst']...

)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top