[Distutils] problems bundling data with setuptools

Phillip J. Eby pje at telecommunity.com
Wed Apr 30 17:59:57 CEST 2008


At 09:33 AM 4/30/2008 -0600, Michael Hearne wrote:
>Oh, ok.  So is there a way to include data (in a package or not) in 
>my binary distribution?

See the distutils docs on that.  There has been some discussion 
around creating a standard for including docs and other things in egg 
metadata, but no concrete proposals have emerged yet.

In the meantime, it's important to understand that "eggs are to 
Python as jars are to Java" -- As far as I know, nobody includes 
README files, documentation, or any other kind of data in a .jar 
file, unless it will be used by the code at runtime.

In other words, the source distribution is the canonical method of 
distributing anything that's not used at execution time.  And 
"easy_install --editable" will fetch and unpack source for you, 
assuming that a source distribution is available.  (Unfortunately, 
many people are only uploading eggs to PyPI, when they should be 
uploading source distributions, and optionally including eggs if relevant.)

Truth be told, there's little reason to upload an .egg to PyPI unless:

1. it contains C code built for OS X or Windows
2. you want it to be able to work with a bootstrapper that lets you 
import from URLs on sys.path,
3. it's a plugin for a system that allows you to upload or "drop in" 
eggs to use as plugins.

If your project doesn't match these descriptions, there's not really 
a need for an .egg to be uploaded; easy_install will build one just 
fine from a source distribution.



More information about the Distutils-SIG mailing list