[Distutils] patch: solving the two major things that people dislike about setuptools, part 1

Ben Finney ben+python at benfinney.id.au
Sat Jan 24 02:00:11 CET 2009


Mark Sienkiewicz <sienkiew at stsci.edu> writes:

> Ben Finney wrote:
> > What of distributions installed via setuptools that are *not*
> > installed as eggs?
> 
> I don't know.  Can you tell me more about that?

It's rather unfortunate that the term “egg” has been used to mean
two rather different things in setuptools.

AIUI, an “egg” is one possible *format* for a distribution: a zipped
collection of the distribution files and metadata files
<URL:http://peak.telecommunity.com/DevCenter/PythonEggs>. It's
supposed to be equivalent to a Java “jar”, in that it can be copied
around easily and imported from directly via setuptools's
infrastructure. This is offset by the relative opacity of it: it's
more difficult to integrate with a proper OS-level package manager, so
many developers deliberately *avoid* building or distributing eggs.

When building a distribution via setuptools, an egg is *optional*; the
distribution may be in an egg, or it may be in a regular tarball or
whatever. When installed, it may or may not be installed as an egg
<URL:http://peak.telecommunity.com/DevCenter/setuptools#install-run-easy-install-or-old-style-installation>.

The confusion is compounded by the fact that setuptools creates its
metadata in a directory named ‘foo.egg-info/’, even if the
distribution is not built to an egg and never will be.

Any of the above could be wrong: I'm not a setuptools expert either,
and have only rubbed up against its rough edges trying to get things
working.

-- 
 \        “I installed a skylight in my apartment. The people who live |
  `\                             above me are furious!” —Steven Wright |
_o__)                                                                  |
Ben Finney



More information about the Distutils-SIG mailing list