eggs considered harmful

Christopher Arndt chris.arndt at web.de
Mon Jun 25 14:12:34 EDT 2007


On 21 Jun., 14:10, Harry George <harry.g.geo... at boeing.com> wrote:
> I've asked before, and I'll ask again: If you are doing a Python
> project, please make a self-sufficient tarball available as well.

Alomost all projects I know of that provide eggs, also have a CVS or
SVN repository. Just download a tagged release and then use "python
setup.py <whatever>" or "easy_install ." in the checkout. easy_install
can even do the checkout for you.

> You can have dependencies, as long as they are documented and can be
> obtained by separate manual download.

Eggs document dependencies better (i.e with version numbers) than most
other projects do, through the "install_requires" argument to the
"setup()" call in "setup.py". In an egg, this list is found in *-egg-
info/requires.txt.

> Ok, setup.py itself may not do the work, but from the end users'
> perspective it works that way.  Setup.py runs a configure and a make,
> which in turn find the right already-installed libraries.  The point
> is, setup.py plays well in such an environment.

Configure etc. may be able to detect an installed version number of a
package/module because they include scripts to check for those. IMHO
it's silly to place the burden for checking for version numbers on the
developer who wants to distribute an app. The package/module should
provide a standard way to query the version number itself. This is
exactly one of things that setuptools is about.

Chris




More information about the Python-list mailing list