Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Buildout tries to update system-wide Distribute installation and refuses to run

Buildout doesn't like my system-wide Distribute installation and refuses to run:

plone@s15447224:~/mybuildout$ python bootstrap.py 
Creating directory '/home/plone/mybuildout/bin'.
Creating directory '/home/plone/mybuildout/parts'.
Creating directory '/home/plone/mybuildout/eggs'.
Creating directory '/home/plone/mybuildout/develop-eggs'.
Getting distribution for 'distribute==0.6.14'.
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /usr/lib/python2.6/dist-packages
Non-egg installation
Removing elements out of the way...
Already patched.
/usr/lib/python2.6/dist-packages/setuptools.egg-info already patched.
After install bootstrap.
Creating /usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg-info
error: /usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg-info: Permission denied
An error occurred when trying to install distribute 0.6.14. Look above this message for any errors that were output by easy_install.
While:
  Bootstrapping.
  Getting distribution for 'distribute==0.6.14'.
Error: Couldn't install: distribute 0.6.14

Is there some way to tell buildout to install its own Distribute and not to mess with system-wide Python installation?

I know about virtualenv. But it seems to be an overkill just to install virtualenv to make buildout happy. There must be some other way.

Python 2.6. Plone 4.1. Ubuntu 10.4.

like image 994
Mikko Ohtamaa Avatar asked Apr 28 '11 11:04

Mikko Ohtamaa


3 Answers

Yes, use Buildout 1.5.x which runs Python with the '-S' argument (-S : don't imply 'import site' on initialization).

  • E.g.: http://build.pythonpackages.com/buildout/plone/4.1.x

(and you might try upgrading your system-wide Distribute to the latest version too)

like image 95
aclark Avatar answered Sep 22 '22 00:09

aclark


Seems to be a bug in distribute_setup.py, currently the workaround is to use setuptools bootstrap.py

EDIT: further details in https://bitbucket.org/tarek/distribute/issue/231/bootstrappy-tries-to-modify-global-python#comment-1254375 EDIT2: fixed http://pypi.python.org/pypi/distribute/0.6.27#id2

like image 35
iElectric Avatar answered Sep 26 '22 00:09

iElectric


I have seen this too. I think I always ended up 'solving' it by indeed using a virtualenv or by accepting the fact that the global setuptools should be updated and doing that manually with something like sudo easy_install -U setuptools (or maybe use distribute as package name).

It might be that this problem is just caused by some versions of bootstrap.py. But that is just a theory. I add this one to most of my Plone 3 buildouts: http://svn.zope.org/*checkout*/zc.buildout/tags/1.4.4/bootstrap/bootstrap.py

like image 24
maurits Avatar answered Sep 26 '22 00:09

maurits