[Distutils] Decompressing .egg files

Giovanni Bajo rasky at develer.com
Wed Feb 8 16:26:27 CET 2006


Phillip J. Eby <pje at telecommunity.com> wrote:

>>  I'd need an option which pretty much this semantic:
>> "if extension `name` exists and its current version is packaged as egg
>> file, decompress it into a directory". Does it exist already?
>
> Use --install-dir (-d) and --always-copy (-a) with -Z; this will always
> result in an unpacked egg in the install directory, whether the source was
> packed or not:
>
>      easy_install -Zad tgtdir name

This works, but specifying the target directory is something I would like to
avoid. My scenario is this: I run "easy_install foobar", and easy_install
downloads and installs foobar.egg (zip file). After that, I decide that I
need it to be a directory, *not* a zip file. I'd expect something like
"easy_install -Z foobar" to be sufficient. I tried with:

easy_install -Zad c:\python24\lib\site-packages foobar

and it worked, but it feels wrong to be forced to specify the site-packages
directory. I just want to obtain the same result *as if* I had specified -Z
when it first downloaded the file.

> In either case, this will install the egg(s) for 'name' into 'tgtdir', and
> will copy/unpack them there even if they're already on sys.path.  No
online
> search will be done unless you have 'find_links' and/or 'upgrade' set in
> one of your distutils config files (setup.cfg, ~/.pydistutils.cfg,
> etc.).  And you could prevent it even then using --allow-hosts (-H) to
> disable any remote access.

Thanks for this explanation.
-- 
Giovanni Bajo



More information about the Distutils-SIG mailing list