2011-04-28 16 views
9

Buildout no le gusta mi sistema a nivel Distribuir la instalación y se niega a ejecutar:Buildout intenta actualizar todo el sistema de Distribución de la instalación y se niega a ejecutar

[email protected]:~/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 

¿Hay alguna manera de saber buildout para instalar su propia Distribuya y no se meta con la instalación de Python en todo el sistema.

Sé de virtualenv. Pero parece ser una exageración simplemente instalar virtualenv para hacer feliz la construcción. Debe haber alguna otra forma.

Python 2.6. Plone 4.1. Ubuntu 10.4.

Respuesta

3

parece ser un error en distribute_setup.py, actualmente la solución es utilizar setuptools bootstrap.py

EDIT: más detalles en https://bitbucket.org/tarek/distribute/issue/231/bootstrappy-tries-to-modify-global-python#comment-1254375 EDIT2: fijo http://pypi.python.org/pypi/distribute/0.6.27#id2

+0

¿Se puede arreglar esto en las nuevas versiones de Plone? –

+0

Prefiero no desmontar el funcionamiento de distribute_setup.py, ¡pero la comunidad de poking podría conseguir que alguien lo aborde! – iElectric

+0

¿Puedes aclarar el error en la pregunta? –

0

kgs proporcionados por zope pin la versión de setuptools y distribuir: http://download.zope.org/zopetoolkit/index/1.0.2/ztk-versions.cfg

setuptools = 0.6c11 distribuir = 0.6.14

Lo mejor es quitar el paquete python-setuptools de su sistema. bootstrap está aquí para asegurarse de que tiene setuptools o distribuir (opción -d) pero su buildout está pidiendo estas versiones.

Bastante raro.

3

He visto esto también. Creo que siempre terminé 'resolviéndola' usando un virtualenv o aceptando el hecho de que las herramientas de configuración globales deberían actualizarse y hacerlo manualmente con algo como sudo easy_install -U setuptools (o tal vez usar distribuir como nombre del paquete).

Es puede ser que este problema es causado por algunas versiones de bootstrap.py. Pero eso es solo una teoría. Agregué este a la mayoría de mis buildouts de Plone 3: http://svn.zope.org/*checkout*/zc.buildout/tags/1.4.4/bootstrap/bootstrap.py

4

Sí, use Buildout 1.5.x que ejecuta Python con el argumento '-S' (-S: no implica 'importar sitio' en la inicialización).

(y usted puede tratar de actualizar el sistema a nivel Distribuir a la última versión también)

+2

Buildout 1.5 es no ir a Plone? –

+1

Utilizo Buildout 1.5.x con Plone, así que diría que es una oportunidad. No estoy seguro de cuál es la preocupación de mantener el núcleo de su uso, en su caso. – aclark

0

Uso el mismo concepto que @maurits. Aquí es pequeño Makefile que:

  1. crea virtualenv
  2. instala en el interior buildout virtualenv
  3. y corre builtout builtout -c.cfg

Makefile:

PROJECT_NAME = <virtualenv_name> 
PYTHON := $(shell if [ ! -z "`python --version 2>&1 | grep 'Python 2'`" ] ; then echo python; else echo python2; fi) 

virtual: 
    virtualenv --unzip-setuptools --prompt='$(PROJECT_NAME)::' --python=$(PYTHON) virtual \ 
    || \ 
    virtualenv --unzip-setuptools --python=$(PYTHON) virtual 

development: virtual 
    . virtual/bin/activate && make -C . construct-env 

construct-env: 
    pip install zc.buildout 
    buildout -c buildout.cfg 
Cuestiones relacionadas