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
