On Apr 30, 2010, at 1:09 PM, Maurits van Rees wrote:

> Op 30-04-10 16:32, Gary Poster schreef:
>> 
>> On Apr 30, 2010, at 3:25 AM, Chris McDonough wrote:
>>> - Running the above bootstrap.py with the virtualenv python and the
>>> -v1.4.3 argument.
>>> 
>>>  bin/python bootstrap.py -v1.4.3
>>> 
>>> - Run bin/buildout
>>> 
>>> That produces a working environment.
>> 
>> Thanks for the clear instructions for the work-around, Chris and Rok.
>> 
>> While one of the goals of the new buildout is to make virtualenv unnecessary 
>> with it if desired, I think it is a priority that virtualenv and zc.buildout 
>> continue to be able to work together.  I'll investigate this report today.
> 
> For the record, I see the same thing.  I'll post some observations here in 
> case they help in debugging.
> 
> I have a python in a virtualenv and that one is on the PATH so it gets used 
> by default.  It gives the same problems the others were seeing.
> 
> Using the system python (Mac 10.6 btw) works.

The core problem of the virtualenv integration, from my perspective, is that I 
expect python -S to give a Python with the stdlib installed.  When you use 
virtualenv, this is not the case.

In a standard interpreter:

$ python -S
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
>>> import ConfigParser
>>> 

In virtualenv:

$ ../bin/python -S
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
>>> import ConfigParser
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named ConfigParser
>>> 

The only solutions to this that I see are the following (choose one):

1. virtualenv fixes the -S flag.  I doubt the virtualenv maintainers care, but 
if they did, that would be great.

2. zc.buildout and bootstrap special case virtualenv: if virtualenv is sniffed 
(handwave...), we don't use -S.  This is messy, but it means that virtualenv 
users get what they want without fuss, and non-virtualenv users can use a 
system Python without fuss.

3. zc.buildout and bootstrap grow an explicit flag to allow site-packages in 
(extra points if I can do it with only one flag for both cases).  The downside, 
in addition to complexity, is that then somebody loses: either virtualenv users 
have to do something special, or people who want to use a system Python with 
zc.buildout transparently have to do something special.

Unless virtualenv folks offer an implementation for #1...I'll decide whether to 
pursue #2 or #3.

Gary
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to