[Distutils] formencode as .egg in Debian ??

Phillip J. Eby pje at telecommunity.com
Wed Nov 23 19:05:55 CET 2005

At 04:53 PM 11/23/2005 +0000, Paul Moore wrote:
>Interesting. I would say that *something* in the
>easy_install/egg/setuptools area feels *exactly* like CPAN to me.
>Where I would like to use my system's standard packaging solution (I'm
>on Windows, so I mean the Windows Add/Remove Programs control panel
>applet here, as supported by bdist_wininst or more recently
>bdist_msi), I am being required to use a different mechanism.

Right, but this is an issue on a different metalevel.  Nobody is proposing 
that Debian users install eggs directly into their 
/usr/lib/python2.x/site-packages directory.

>Like David, I don't like anything other than the "official" (ie,
>Windows installers in my case) mechanisms having access to the Python
>installation directory.
>If there was a way of building a Windows installer that installed
>packages in "egg" form, so I didn't have to use setup.py at all when
>installing, just double-click on the installer, that would suit me.
>This feels like what the Debian people want with their .deb format as

Right - this would hopefully be covered at some point using an .msi or .exe 
wrapper for eggs on Windows.  So far, though, you're the only person I've 
heard from about wanting this on Windows, versus the number of people who 
want it for e.g. Debian.  So I'm still considering Debian wrapper support 
as being more urgent than .msi wrapper support.

My point to David was simply that egg packaging in the .egg form is more 
akin to Stow than to CPAN, so most of the flaws of CPAN are not applicable 
to them.

>The wording I'm using here is possibly not accurate - there seem to be
>a confusing mix of concepts and ideas going round, with no-one having
>a good understanding of all of them. My apologies - if there's a good
>glossary somewhere, which explains what to call things like
>   * The executable I click on in Windows to install something
>   * The .deb file that a Debian user downloads and installs

I would call these "system packages", to distinguish them from Python 
packages.  You (and others) would like to ensure that any project you 
install is wrapped in a system package.

>   * The set of files that end up in Python's site-packages

A "project distribution", or just a "project" (which is a less accurate 
term but more convenient).

>      - for a "normal" install (bdist_wininst, non-egg, whatever)

This has never seemed to me to need a special term unto itself, so I don't 
have one.

>      - for an egg

An egg.  :)

>      - that comprises the difference between the above two ( :-) )

Egg metadata.  An egg is just an installed project distribution that 
includes egg metadata, in one of the three possible layouts for putting 
that metadata alongside the rest of the project contents.

More information about the Distutils-SIG mailing list