[Distutils] buildout 2 craziness: "upgrading" to distribute 0.6.26 and using site-packages from another python install

Chris Withers chris at simplistix.co.uk
Fri Apr 5 16:52:17 CEST 2013


Hi All,

This is driving me nuts, I hope someone can help.

So, pre-amble, I'm on a Mac, I have a few python installations, the ones 
in play here are:

buzzkill:xlutils chris$ which python
/Library/Frameworks/EPD64.framework/Versions/Current/bin/python
buzzkill:xlutils chris$ which python2.6
/usr/local/bin/python2.6
buzzkill:xlutils chris$ which python2.7
/Library/Frameworks/EPD64.framework/Versions/Current/bin/python2.7

The buildout I'm working with is here:

https://github.com/python-excel/xlutils/blob/master/buildout.cfg

My python2.7 has a site-packages xlrd (it's EPD, which includes a bunch 
of packages), so I'm using python2.6 on this machine, since it doesn't 
(it's a plain source install on python).

Okay, so, as you'll see from github above, I have the latest 
bootstrap.py, and the initial bootstrap looks fine:

buzzkill:xlutils chris$ python2.6 bootstrap.py
Downloading 
http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
Extracting in /var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T/tmpxnVlCD
Now working in 
/var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T/tmpxnVlCD/distribute-0.6.35
Building a Distribute egg in 
/var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T/tmpg4hxVn
/var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T/tmpg4hxVn/distribute-0.6.35-py2.6.egg
buzzkill:xlutils chris$ cat bin/buildout
#!/usr/local/bin/python2.6

import sys
sys.path[0:0] = [
   '/Users/chris/buildout-eggs/distribute-0.6.35-py2.6.egg',
   '/Users/chris/buildout-eggs/zc.buildout-2.1.0-py2.6.egg',
   ]

import zc.buildout.buildout

if __name__ == '__main__':
     sys.exit(zc.buildout.buildout.main())

Okay, so now try running that buildout:

buzzkill:xlutils chris$ bin/buildout
Upgraded:
   distribute version 0.6.26;
restarting.
Generated script '/Users/chris/LocalGIT/xlutils/bin/buildout'.
Develop: '/Users/chris/LocalGIT/xlutils/.'
Develop: '/Users/chris/LocalGIT/xlutils/../xlrd'
Traceback (most recent call last):
   File "/var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T/tmpwnpB08", 
line 13, in <module>
 
exec(compile(open('/Users/chris/LocalGIT/xlutils/../xlrd/setup.py').read(), 
'/Users/chris/LocalGIT/xlutils/../xlrd/setup.py', 'exec'))
   File "/Users/chris/LocalGIT/xlutils/../xlrd/setup.py", line 18, in 
<module>
     from xlrd.info import __VERSION__
ImportError: No module named info
While:
   Installing.
   Processing develop directory '/Users/chris/LocalGIT/xlutils/../xlrd'.

An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
<snip>
   File 
"/Users/chris/buildout-eggs/zc.buildout-2.1.0-py2.6.egg/zc/buildout/easy_install.py", 
line 129, in call_subprocess
     % repr(args)[1:-1])
Exception: Failed to run command:
'/usr/local/bin/python2.6', 
'/var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T/tmpwnpB08', '-q', 
'develop', '-mxN', '-d', 
'/Users/chris/LocalGIT/xlutils/develop-eggs/tmpUg8rV8build'

Okay, so, a few comments:

- "upgrading" to distribute version 0.6.26 from 0.6.35. Whu?!

- The xlrd in /Users/chris/LocalGIT/xlrd certainly does have an info module.

Now the really crazy bit:

buzzkill:xlutils chris$ cat bin/buildout
#!/usr/local/bin/python2.6

import sys
sys.path[0:0] = [
   '/Users/chris/buildout-eggs/zc.buildout-2.1.0-py2.6.egg',
 
'/Library/Frameworks/EPD64.framework/Versions/7.3/lib/python2.7/site-packages',
   ]

import zc.buildout.buildout

if __name__ == '__main__':
     sys.exit(zc.buildout.buildout.main())

Come again?! Why is site-packages from a *different python installation* 
ending up in bin/buildout?

Any help here would be very gratefully received...

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
             - http://www.simplistix.co.uk


More information about the Distutils-SIG mailing list