Search code examples
pythonpipsetuptoolspython-wheel

pip not installing non .py files (even though they're packaged in wheel)


I'm successfully packaging my application (wheel) to include all my non-python files in it as well. I did this via the MANIFEST.in file where I do:

include path/to/sql/files/*.sql

This works, because after running

python setup.py clean sdist

I get a my-app.tar.gz. Unpacking this tar then shows me all the files, including my .sql ones. So far so good.

However, when doing a pip install from our Nexus repository, only the python files show up (even though a manual download from Nexus of the tar contains everything).

Do I need to change anything in my setup.py? I thought the MANIFEST file was enough?

Here is all relevant info from my setup.py:

setuptools.setup(
    name="my_app",
    version="1.0.0",
    packages=setuptools.find_packages(),
    python_requires='>=3.6')

Solution

  • Figured it out. I had to include

    include_package_data=True,
    

    in my setup.py.

    Makes the usage of MANIFEST.in a little less attractive now in my opinion.