[Python-Dev] Internal documentation for egg formats now available
M.-A. Lemburg
mal at egenix.com
Fri Apr 28 18:43:00 CEST 2006
M.-A. Lemburg wrote:
>>> No, I'm talking about a format which has the same if not
>>> more benefits as what you're trying to achieve with the
>>> .egg file approach, but without all the magic and hacks.
>>>
>>> It's not like this wouldn't be possible to achieve.
>> That may or may not be true. Perhaps if you had participated in the
>> original call to the distutils-sig for developing such a format (back in
>> December 2004), perhaps the design would've been more to your liking.
>>
>> Oh wait... you did:
>>
>> http://mail.python.org/pipermail/distutils-sig/2004-December/004351.html
>
> Indeed. And I suggested that you reconsider the idea to
> use ZIP files for installation (rather than just distribution):
>
> http://mail.python.org/pipermail/distutils-sig/2004-December/004349.html
>
>> And if you replace 'syspathtools.use()' in that email, with
>> 'pkg_resources.require()', then it describes *exactly how setuptools
>> works with .egg directories today*.
>
> Interesting that you used that idea, because back then you didn't
> reply to the email. Looks like I deserve some credit ;-)
>
> If you've already implemented this (which I wasn't aware of, since
> when I played with setuptools it kept installing .egg ZIP files),
> then why don't you make .egg *directories* the standard installation
> scheme, instead of insisting on having .egg ZIP files in
> site-packages/ ?
>
> I've now played with it again and found that for some
> packages (e.g. kid and Paste) it installs these as .egg
> directories (horray!).
>
> For other packages such as elementtree which are not available
> as egg files, it still creates egg files (by first downloading the
> source package, then creating an egg file and installing that).
>
> It also uses the egg files for quite a few packages that are
> distributed as egg files.
>
> So far, I've not found a pattern to this.
>
> I wonder why you don't always create .egg directories.
I've now found this section in the documentation which seems to
have the reason:
http://peak.telecommunity.com/DevCenter/EasyInstall#compressed-installation
Apart from the statement "because Python processes zipfile entries on
sys.path much faster than it does directories." being wrong,
it looks like all you'd have to do, is make --always-unzip the
default.
Another nit which seems to have been introduced in 0.6a11:
you now prepend egg directory entries to other sys.path entries,
instead of appending them.
What's the reason for that ?
Egg directory should really be treated just like any other
site-package package and not be allowed to override stdlib
modules and packages without explicit user action by
e.g. adjusting PYTHONPATH.
--
Marc-Andre Lemburg
eGenix.com
Professional Python Services directly from the Source (#1, Apr 28 2006)
>>> Python/Zope Consulting and Support ... http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
________________________________________________________________________
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
More information about the Python-Dev
mailing list