[Distutils] setuptools and extra_path

Bob Ippolito bob at redivi.com
Tue Jul 18 00:07:48 CEST 2006

On Jul 17, 2006, at 2:47 PM, Bob Ippolito wrote:

> On Jul 17, 2006, at 2:33 PM, Phillip J. Eby wrote:
>> At 12:26 AM 7/17/2006 -0700, Bob Ippolito wrote:
>>> Is there any reason why setuptools totally ignores extra_path when
>>> using compatibility mode (e.g. calling .run() manually or --single-
>>> version-externally-managed)?
>> It's probably an unintended side effect of the fact that setuptools
>> doesn't support extra_path.
> Why not support it with --single-version-externally-managed?

And further, it should probably issue some kind of warning to let  
people know that setuptools is ignoring this option in any scenario  
when it is ignored... I didn't even notice until I started looking in  
my site-packages folder to uninstall stuff.

In this particular case I don't need --root or --record because I  
already am tracking all of that with bdist_mpkg in a different way.

The reason I want single-version-externally-managed behavior in the  
first place is because I don't want to have to try and deal with  
having the packages try and edit easy_install.pth. I suppose I could  
have it install in an egg-dir and drop in a separate pth, but ideally  
I wouldn't have to do anything. All I want is the old behavior plus  
the egg_info metadata.

There are three features bdist_mpkg has that make it currently useful  
despite easy_install:

[1] No bootstrap issue, Mac OS X ships with a GUI installer that  
understands .mpkg/.pkg bundles.
[2] No permission issue. Mac OS X will prompt for authorization (like  
"sudo") when and only when it is needed
[3] Installing Other Stuff. bdist_mpkg is used to install examples,  
documentation, headers, dependent libraries, etc.

The third feature is important in a few cases, because packages like  
pygame have dependent libraries (the SDL frameworks), PyObjC has  
Xcode templates, etc. Most packages are perfectly well suited to eggs  
as currently specified, though. I'm not too concerned with the other  
two features, because those are rarely an issue and can be easily  
resolved with a GUI front-end to easy_install that combines ez_setup- 
like functionality for bootstrapping.


More information about the Distutils-SIG mailing list