2011-04-28 8 views
9

擴建不喜歡我的全系統分發安裝,並拒絕運行:擴建嘗試更新全系統分發安裝,並拒絕運行

[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 

是否有某種方式來告訴擴建,安裝了自己的分發而不是混淆整個系統的Python安裝?

我知道virtualenv。但是,安裝virtualenv讓buildout變得快樂似乎是一種矯枉過正的行爲。必須有其他方式。

Python 2.6。 Plone 4.1。 Ubuntu 10.4。通過提供的zope

回答

3

似乎是在distribute_setup.py一個bug,目前的解決辦法是使用setuptools bootstrap.py

編輯:更多詳細信息在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

+0

這可以在新的Plone版本中修復嗎? – 2012-01-26 00:39:50

+0

我寧願不拆解distribute_setup.py的工作方式,但是可以通過戳社區來解決它! – iElectric 2012-01-27 19:37:38

+0

你能澄清問題中的錯誤嗎? – 2012-01-27 20:38:32

3

我也看到了。我認爲我總是通過確實使用virtualenv或者接受全局setuptools應該更新並且使用諸如sudo easy_install -U setuptools(或者可能使用分發作爲包名稱)手動進行的操作來結束「解決」它。

可能是這個問題只是由bootstrap.py的某些版本引起的。但這只是一個理論。我將這一個添加到我的大部分Plone 3構建中:http://svn.zope.org/*checkout*/zc.buildout/tags/1.4.4/bootstrap/bootstrap.py

4

是的,使用帶有'-S'參數(-S:並不意味着在初始化時導入網站)運行Python的Buildout 1.5.x。

(你可以嘗試升級全系統分發到最新版本太)

+2

擴建1.5是沒有去爲Plone? – 2011-04-30 13:34:44

+1

我使用Buildone 1.5.x與Plone,所以我會說這是一個去。如果有的話,我不確定擔心核心問題。 – aclark 2011-10-04 12:23:22

0

我使用與@maurits相同的概念。這裏是Makefile文件片斷:

  1. 創建的virtualenv
  2. 安裝內的virtualenv
  3. 擴建和運行builtout -c builtout。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 
相關問題