[Python-Dev] [Distutils] how to easily consume just the parts of eggs that are good for you

Phillip J. Eby pje at telecommunity.com
Wed Apr 9 23:25:31 CEST 2008

At 04:43 PM 4/9/2008 -0400, Stanley A. Klein wrote:
>I don't understand what you mean by "shared environments and development
>  environments".

I mean that in a shared or development environment, a system packager 
isn't useful, since it expects things to live in *one* place, and 
usually to have only one *version*, as well.

>I agree that we are dealing with a combination of technical and social
>issues here.  However, I think it takes a lot more understanding for a
>publisher to get everything straight.

If they provide you with the source distribution, you can make any 
sort of package you want.

> > Eggs don't include documentation or configuration files, and they
> > install scripts in script directories, so I don't get what you're
> > talking about here.  For any other data that a package accesses at
> > runtime, my earlier comments apply.
> >
>But rpms and debs do include these files, plus manual pages, localization
>files and a lot of other ancillary stuff.

...just one of the many reasons that eggs are not a replacement for 
rpms and debs.  :)

>Most of the Python tarballs I have downloaded have all kinds of files in
>their installation trees.  This is a major pain in the you-know-what for
>someone trying to use bdist_rpm and get proper, FHS-compliant rpms.  If
>eggs are supposed to be strictly runtime files, I think very few
>developers actually understand that.  Better yet, how do you define what
>should be included in an installation?  It sounds like the egg concept
>doesn't include several kinds of files that rpm and deb would include in
>an installation.  I think that may be an important issue here.

It would be, if .eggs were a packaging format, rather than a binary 
distribution/runtime format.

Remember "eggs are to Python as jars are to Java" -- a Java .jar 
doesn't contain documentation either, unless it's needed at 
runtime.  Same for configuration files.

They're not system packages, in other words.  The assumption that 
they are is another marketing failure, due to conflation of "package 
== distribution of python code" and "package == thing you manage with 
a system packager".  People see, "I put my package in an .egg" and 
think it's the latter definition, when it's barely even the former.  :)

More information about the Python-Dev mailing list