[Distutils] Buildout not working with Bash wrapper for `python'

Gustavo Narea gnarea at tech.2degreesnetwork.com
Fri Jun 18 18:11:04 CEST 2010


Hello,

I have a Bash script that wraps our custom-compiled Python interpreter
to set a couple of required variables, but Buildout is failing to
install dependencies when that wrapper is used.

The Bash script looks like this:
----
#!/bin/bash
export PYTHONHOME="${HOME}/.twod/pythons/2.5.5"
export LD_LIBRARY_PATH="${PYTHONHOME}/lib:${LD_LIBRARY_PATH}"

exec ${PYTHONHOME}/bin/python "$@"
---

It works like a charm for everything but Buildout. This is what I get
when I run it with log-level=DEBUG:
---
...
Getting required 'django-audit==1.0b1'
   required by foo.
We have no distributions for django-audit that satisfies
'django-audit==1.0b1'.
Getting distribution for 'django-audit==1.0b1'.
Running
easy_install:                                                                                                                                                                         

/bin/bash /home/gustavo/.twod/pythons/2.5.5/bin/python-wrapper "-c"
"from setuptools.command.easy_install import main; main()" "-mUNxd"
"/home/gustavo/.twod/pythons/2.5.5/buildout-eggs/tmp4binwi" "-Z" "-q"
"/home/gustavo/.buildout/downloads/dist/django-audit-1.0b1.tar.gz"                                                                                                                         

path=/home/gustavo/System/Pyenvs/twod-trunk/eggs/distribute-0.6.13-py2.5.egg                                                                                                                  

                                                                                                                                                                                              

An error occured when trying to install django-audit 1.0b1. Look above
this message for any errors that were output by
easy_install.                                                          
While:                                                                                                                                                                                        

 
Installing.                                                                                                                                                                                 

  Getting section
scripts.                                                                                                                                                                    

  Initializing section
scripts.                                                                                                                                                               

  Getting option
scripts:initialization.                                                                                                                                                      

  Getting section
twod_vars.                                                                                                                                                                  

  Initializing part
twod_vars.                                                                                                                                                                

  Getting distribution for
'django-audit==1.0b1'.                                                                                                                                             

Error: Couldn't install: django-audit 1.0b1
---

If I run manually the command Buildout is running, it works:
/bin/bash /home/gustavo/.twod/pythons/2.5.5/bin/python-wrapper "-c"
"from setuptools.command.easy_install import main; main()" "-mUNxd"
"/home/gustavo/.twod/pythons/2.5.5/buildout-eggs/tmp4binwi" "-Z" "-q"
"/home/gustavo/.buildout/downloads/dist/django-audit-1.0b1.tar.gz"

Why doesn't it work within Buildout? How can I make it give a more
detailed description of the error?

I have the following in buildout.cfg:
---
[buildout]
...
executable = /bin/bash /home/gustavo/.twod/pythons/2.5.5/bin/python-wrapper
---

Thanks in advance.

PS: I need to set $PYTHONHOME and $LD_LIBRARY_PATH because we require
Python 2.5.5 with --enable-shared.

-- 
Gustavo Narea.
Software Developer.
2degrees, Ltd. <http://dev.2degreesnetwork.com/>.



More information about the Distutils-SIG mailing list