This question assumes that the python package I want to install is a django app that includes templates and media files. But the question is valid for any python package that does not only contain .py
files.
I'm using buildout to create a re-buildable environment in which I'm developing a django project. My buildout.cfg
looks like that:
[buildout]
parts = python
eggs =
normal-python-package
python-package-with-data-files
find-files =
http://domain-to-python-package-with-data-files
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
(and some django related stuff). The python-package-with-data-files
is available through a link on the page http://domain-to-python-package-with-data-files
.
The eggs normal-python-package
and python-package-with-data-files
are installed successfully in the eggs/
directory. Because python-package-with-data-files
has set zip_safe
to False
in its setup.py
file it is available unzipped in eggs/
.
Only the non .py
files of python-package-with-data-files
are not available in the unzipped egg in eggs/
(they are included in the .tar.gz
package available at http://domain-to-python-package-with-data-files
).
How do I get these data files to be included in the egg? Do I need to change the setup.py
file of the package? Or is it buildout related?
The things I found out are the following:
If I make a python setup.py sdist
in python-package-with-data-files
root directory, all data files are included in the created .tar.gz file. But if I make a python setup.py bdist
it results in a build without including the data files.
This makes me think that the problem is not buildout specific. But maybe there is a way to tell buildout not to make a bdist
but a sdist
to create the egg and install the package into the project.
What shall I do? I am the maintainer of python-package-with-data-files
, so I can change setup.py
if necessary.