2011-04-28 14 views
9

buildout चलाने के लिए पसंद नहीं है मेरे सिस्टम-व्यापी इंस्टॉलेशन को वितरित मना कर दिया और चलाने के लिए मना कर दिया:buildout सिस्टम-वाइड अद्यतन करने के लिए वितरित करें स्थापना की कोशिश करता है और

[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 

वहाँ किसी तरह अपने आप ही स्थापित करने के लिए buildout बताने के लिए है सिस्टम-व्यापी पायथन स्थापना के साथ वितरित करें और गड़बड़ न करें?

मुझे वर्चुअलएन्व के बारे में पता है। लेकिन बिल्डआउट को खुश करने के लिए वर्चुअलएन्व स्थापित करने के लिए यह एक ओवरकिल प्रतीत होता है। कुछ और रास्ता होना चाहिए।

पायथन 2.6। प्लोन 4.1। उबंटू 10.4। zope द्वारा प्रदान की

उत्तर

3

distribute_setup.py में एक बग लगती है (और आप उन्नयन अपने पूरे सिस्टम में नवीनतम संस्करण के लिए भी वितरित करें कोशिश कर सकते हैं), वर्तमान में वैकल्पिक हल https://bitbucket.org/tarek/distribute/issue/231/bootstrappy-tries-to-modify-global-python#comment-1254375में अधिक जानकारी:

संपादित bootstrap.py setuptools उपयोग करने के लिए हैEDIT2: निश्चित http://pypi.python.org/pypi/distribute/0.6.27#id2

+0

क्या यह नई प्लोन रिलीज़ में तय किया जा सकता है? –

+0

मैं विचलित नहीं करता कि distribute_setup.py कैसे काम करता है, लेकिन समुदाय को पोक करने से किसी को इससे निपटने में मदद मिल सकती है! – iElectric

+0

क्या आप इस प्रश्न में बग को स्पष्ट कर सकते हैं? –

0

किलोग्राम setuptools के संस्करण पिन और वितरित: http://download.zope.org/zopetoolkit/index/1.0.2/ztk-versions.cfg

setuptools = 0.6c11 वितरित = 0.6.14

सबसे अच्छा आपके सिस्टम से अजगर-setuptools पैकेज को दूर करने के लिए है। बूटस्ट्रैप यह सुनिश्चित करने के लिए यहां है कि आपके पास setuptools या वितरित (-d विकल्प) है लेकिन आपका buildout इन संस्करणों से पूछ रहा है।

काफी अजीब।

3

मैंने इसे भी देखा है। मुझे लगता है कि मैं वास्तव में virtualenv का उपयोग करके या इस तथ्य को स्वीकार कर रहा हूं कि वैश्विक सेटअपtools को अद्यतन किया जाना चाहिए और मैन्युअल रूप से sudo easy_install -U setuptools (या शायद पैकेज नाम के रूप में वितरित करने के लिए) का उपयोग करके इसे हल करना 'हल करना' समाप्त हो गया है।

यह हो सकता है कि यह समस्या bootstrap.py के कुछ संस्करणों के कारण हो। लेकिन यह सिर्फ एक सिद्धांत है। मैं अपने प्लोन 3 buildouts के सबसे करने के लिए यह एक जोड़ें: http://svn.zope.org/*checkout*/zc.buildout/tags/1.4.4/bootstrap/bootstrap.py

4

हाँ, buildout 1.5.x जो 'एस' तर्क के साथ अजगर चलाता है का उपयोग करें (एस: 'आयात साइट' आरंभीकरण पर न दिखाने वाले)।

+2

buildout 1.5 प्लोन के लिए कोई जाने है? –

+1

मैं प्लोन के साथ बिल्डआउट 1.5.x का उपयोग करता हूं, इसलिए मैं कहूंगा कि यह एक जाना है। मुझे यकीन नहीं है कि इसका उपयोग करने से चिंता क्या हो रही है, अगर कोई है। – aclark

0

मैं उसी अवधारणा का उपयोग @maurits के रूप में करता हूं।

  1. बनाता virtualenv
  2. virtualenv
  3. अंदर buildout स्थापित करता है और -c builtout builtout चलाता है: यहाँ Makefile स्निपेट होता है।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