I am new to distutils.. I am trying to include few data files along with the package.. here is my code..
from distutils.core import setup
setup(name='Scrapper',
version='1.0',
description='Scrapper',
packages=['app', 'db', 'model', 'util'],
data_files=[('app', ['app/scrapper.db'])]
)
The zip file created after executing python setup.py sdist
does not include the scrapper.db file. I have scrapper.db file in the app directory..
thanks for the help.
In order to include your non-Python files into said package, you'll need to supply include_package_data=True to the setup() function.
Place the files that you want to include in the package directory (in our case, the data has to reside in the roman/ directory). Add the field include_package_data=True in setup.py. Add the field package_data={'': [... patterns for files you want to include, relative to package dir...]} in setup.py .
package_data. By default, include_package_data considers all non .py files found inside the package directory ( src/mypkg in this case) as data files, and includes those that satisfy (at least) one of the above two conditions into the source distribution, and consequently in the installation of your package.
The setup.py file may be the most significant file that should be placed at the root of the Python project directory. It primarily serves two purposes: It includes choices and metadata about the program, such as the package name, version, author, license, minimal dependencies, entry points, data files, and so on.
You probably need to add a MANIFEST.in
file containing "include app/scrapper.db"
.
It's a bug in distutils that makes this necessary: anything in data_files
or package_data
should be included in the generated MANIFEST
automatically. But in Python 2.6 and earlier, it is not, so you have to include it in MANIFEST.in
.
The bug is fixed in Python 2.7.
Try removing MANIFEST, that way distutils will be forced to regenerate it.
Note: I've been using python 3.x, so I don't know if this works with 2.x or not.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With