[Python-Dev] PEP 365 (was Re: PEP: per user site-packages directory)

Steve Holden steve at holdenweb.com
Mon Jan 21 16:48:02 CET 2008


Phillip J. Eby wrote:
> At 01:06 AM 1/22/2008 +1000, Nick Coghlan wrote:
>> Steve Holden wrote:
>>> Christian Heimes wrote:
>>>> Steve Holden wrote:
>>>>> Maybe once we get easy_install as a part of the core (so there's no need
>>>>> to find and run ez_setup.py to start with) things will start to improve.
>>>>> This is an issue the whole developer community needs to take seriously
>>>>> if we are interested in increasing take-up.
>>>> setuptools and easy_install won't be included in Python 2.6 and 3.0:
>>>> http://www.python.org/dev/peps/pep-0365/
>>>>
>>> Yes, and yet another release (two releases) will go out without easy
>>> access to the functionality in Pypi. PEP 365 is a good start, but Pypi
>>> loses much of its point until new Python users get access to it "out of
>>> the box". I also appreciate that resource limitations are standing in
>>> the way of setuptools' inclusion (is there something I can do about
>>> that?) Just to hammer the point home, however ...
>> Have another look at the rationale given in PEP 365 - it isn't the
>> resourcing to do the work that's a problem, but the relatively slow
>> release cycle of the core.
>>
>> By including pkg_resources in the core (with the addition of access to
>> pure Python modules and packages on PyPI), we would get a simple, stable
>> base for Python packaging to work from, and put users a single standard
>> command away from the more advanced (but also more volatile) features of
>> easy_install and friends.
> 
> By the way, if we're actually going to get that into 2.6, it would be 
> good for the PEP to actually be approved before then.  :)
> 
Yes, I noticed it wasn't yet approved and wondered whether this was 
simply an oversight or whether there is still work to do before it can 
be approved.

> With respect to Steve's comments about out-of-the-box usability, it 
> should be noted that when you bootstrap a package with pkg_resources, 
> it should be possible to include other command-line arguments after 
> the package specifier.  So for example:
> 
>      python -m pkg_resources setuptools SomePackage==1.2
> 
> would download and install setuptools, and run its "bootstrap script" 
> with "SomePackage==1.2" as a command-line argument.  And setuptools' 
> bootstrap script is basically easy_install with some extra code to 
> make sure the setuptools egg gets installed too.
> 
> In other words, with PEP 365 in place, "python -m pkg_resources 
> setuptools" is basically a way to say "easy_install" without needing 
> setuptools installed.
> 
Well that's probably a simple enough recipe to include in the 
distribution, wouldn't you say?

> (Heck, if what you really want is to have easy_install support in 
> 2.6, we could just as easily bundle an easy_install.py that asks for 
> an install of setuptools if it's not already present.)
> 
Would the easiest way to do this be to insert a default dependency on 
setuptools?

regards
  Steve
-- 
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC              http://www.holdenweb.com/



More information about the Python-Dev mailing list