[Distutils] Deviation between distutils and setuptools over package_data

Benjamin Root ben.v.root at gmail.com
Wed Sep 18 23:07:07 CEST 2013


In creating a source distribution, I have found a disparity between the
behaviors of distutils and setuptools with respect to package_data. As of
python Issue 2279: http://bugs.python.org/issue2279, entries listed in
package_data are used when building an sdist. I have verified that this
works in a simple example when setup() is imported from distutils.core.
However, if I import setup() from setuptools, it does not pull in the data
as listed in package_data (and presumedly data_files).

I see that the documented behavior for setuptools is to do some searching
to see what files are in source control, but I think that is broken too
(maybe an issue with the new SVN 1.7?), as the files I was trying to
include are under version control.

In any case, this deviation in behavior is very confusing as I am often
lead to believe that setuptools builds upon distutils, so I am often using
the distutils documentation as they are fairly complete. I would suggest
incorporating both distutils' and setuptools' behavior in this regard.

Thanks,
Ben Root

P.S. - on a related note, for a package "foo", foo.egg-info directory is
created with a SOURCES.txt file. I have found that under certain
situations, it seems that a successful install would result in a fully
listed SOURCES.txt, and then subsequent calls to sdist seems to use that
information to build seemingly correct archives. A co-working
double-checking a deployment process I made did an sdist and created a
source distribution without the package_data when he did a fresh checkout,
but whenever I did it from my development branch, the source distribution
worked fine. I haven't figured out exactly how this came about, but it
seems to be tied to the SOURCES.txt file.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130918/372f2762/attachment.html>


More information about the Distutils-SIG mailing list