[PEAK] eggs with individual .pth's

Rob Cakebread pythonhead at gentoo.org
Mon Oct 17 01:42:59 EDT 2005


Phillip J. Eby wrote:

> Keep in mind that it's an extra open for *each* .pth file, so the 
> overhead of having say, 20 eggs installed will give you an overhead 20 
> times higher than that of one.
> 

We are using just one file now. Based on your explanation below, we
may be changing the name though ;)

>> I'm not sure what you mean here. In what situation would we want one
>> .pth to override another .pth?
> 
> 
> Well, you might not want it, but a user who's trying to install a later 
> version of something than what's packaged would.  For example, imagine a 
> user who's developing the next version of the AcmeThing package, and has 
> the stable version also installed.  By running "sudo setup.py develop" 
> they can update easy-install.pth to point to their under-development 
> version.  But if the vendor .pth file is 'AcmeThing.pth', it'll be read 
> before 'easy-install.pth' and will thus prevent them from overriding it.
> 
> Arguably, there are other ways to do the overriding, but they're more of 
> a pain for the user or developer.  Note too that it's not just 
> developers who'd have this problem: any user tracking a CVS or 
> Subversion release of a package would encounter the same thing.
> 

Ok, I see what you mean, and that is something we'll have to decide
soon.

I've come up with a couple feature requests. Do you have a bug tracker
or is this the proper place?

I'd like an option for easy_install to abort an installation
if a dependency isn't available locally (needs to be downloaded).
Ruby's gem has the '-l' option to only work locally for example.
This is because we download everything with portage and don't
want any missed dependencies being downloaded. If this is something
you'd consider adding, I'd be happy to do the work and supply a
patch.

Another request would be the ability to disable the warnings when
you install with --install-dir and easy_install gives the
information about needing pkg_resources.require. Since we add our own
.pth's this info will be confusing to users. I tried --quiet but since
that is a warning it still shows up.

If you're interested, I wrote a quick utility to list either all
eggs or just activated eggs (thanks to your help on irc). You can find
it here:

http://eggs.gentooexperimental.org/file/trunk/tools/yolk.py?rev=16&format=txt
or svn:

svn co http://eggs.gentooexperimental.org/svn/trunk/overlay/tools

The function that parses PKG-INFO could use some work. Is there
something in pkg_resources or anything else you know of that
parses it reliably? Its worked on every egg I tried, but its
far from optimal and doesn't get all metadata lines yet.

Thanks,
Rob


-- 
Rob Cakebread
Gentoo Linux Developer
Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x96BA679B
Key fingerprint = 5E1A 57A0 0FA6 939D 3258  8369 81C5 A17B 96BA 679B



More information about the PEAK mailing list