Search code examples
pythonpython-3.xsetuptools

include_package_data=True does not work


I use include_package_data=True with setuptools.

Despite I have include_package_data=True when I run python setup.py install my *.xml and *.ttl (and other) files are not installed.

What is my error? Or is it a bug of setuptools? What to do?

From https://github.com/vporton/xml-boiler setup.py:

from coverage.annotate import os
from setuptools import setup, find_packages
from setuptools.command.build_py import build_py as DistutilsBuild


class MyBuild(DistutilsBuild):
    def run(self):
        DistutilsBuild.run(self)
        os.system('make')


setup(
    name='xml-boiler',
    version='0.0.2',
    url='https://github.com/vporton/xml-boiler',
    license='AGPLv3',
    author='Victor Porton',
    author_email='[email protected]',
    description='Automatically transform between XML namespaces',

    use_scm_version=True,
    setup_requires=['setuptools_scm'],
    packages=find_packages(),
    # package_data={'': ['**/*.xml', '**/*.ttl', '**/*.net', 'data/assets/*', 'data/scripts/*.xslt',
    #                    'xmlboiler/doc/*.html', 'xmlboiler/doc/*.css']},
    include_package_data=True,
    scripts=['bin/boiler'],
    # Does not work for non-root install:
    # data_files = [
    #     ('/etc/xmlboiler', ['etc/config-cli.ttl'])
    # ],
    test_suite="xmlboiler.tests",

    cmdclass={'build_py': MyBuild},
)

Here is my MANIFEST.in:

recursive-include xmlboiler *.xml *.ttl *.xslt
recursive-include xmlboiler/core/data/assets *

Solution

  • Needs zip_safe=False flag to prevent installation inside a ZIP file.