Hey all,

Despite the dramatic subject line, I'm willing to be patient, friendly, and flexible. I'm just trying to figure out the best way to do something that used to work.

I have a (open source) (web) application at http://openhatch.org/ (code at "git clone git://code.openhatch.org/milestone-a.git") that uses bootstrap.py. Since a year ago, I used bootstrap.py plus zc.buildout to provide a mini environment for my application.

Recently, that stopped working properly. A contributor ran "bootstrap.py" as a regular user on Ubuntu 10.04, and got this error <https://openhatch.org/bugs/msg475>. I'm using ... to skip parts but you can see the full message at the link.

        ka...@laesa:~/Code/milestone-a$ python2.6 bootstrap.py
        ...
        Getting distribution for 'distribute'.
        ...
        Setuptools installation detected at /usr/lib/python2.6/dist-packages
        ...
        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

At this point it gives up:

        An error occurred when trying to install distribute 0.6.14. Look above
        this message for any errors that were output by easy_install.

The buildout is being done by a user who isn't root, so it's straightforward that the user cannot modify /usr/local/lib/*. I thought the nice thing about buildout was that it didn't require mutating the system's state (and therefore doesn't require to be run as root). The only way I've found to fix this is to ask people to "sudo easy_install distribute". I'm okay putting that in the docs, but I want to make sure that people don't run into this situation by accident.

I can reproduce it on my Debian desktop, too, if I do "pip uninstall distribute" and then try to run bootstrap.py.

So my question is -- what should I do now? Should I provide a modified bootstrap.py in my application that detects that the user needs to "sudo easy_install distribute"? If so, what does that code look like?

(I've tried using the distribute.py from http://bitbucket.org/tarek/buildout-distribute/src/tip/bootstrap.py and get the same error.)

Honestly confused, and seeking help,

-- Asheesh.

P.S. I feel like a child whose parents are fighting, and while the argument takes place, I sit hungry waiting for dinner. See also http://lyrics.wikia.com/Moxy_Fr%C3%BCvous:The_Kids%27_Song

--
The last thing one knows in constructing a work is what to put first.
                -- Blaise Pascal
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to