2011-01-29 26 views
7

मैं buildout के लिए पूरी तरह से स्विच करने की कोशिश कर रहा हूँ - लेकिन हमारे विकास के वातावरण पहले से ही सामान की बहुत /usr/lib/pythonxx/यह सुनिश्चित करने के लिए कि बिल्डआउट पहले से स्थापित संकुल का उपयोग नहीं करता है?

में स्थापित किया है मैं कैसे सुनिश्चित करें कि buildout पुस्तकालयों पहले से ही सिस्टम पर स्थापित का उपयोग नहीं करता कर सकते हैं - virtualenv के बिना अंत में?

उदाहरण के लिए - इस व्यवहार से कैसे बचें? :

> cat buildout.cfg 
[buildout] 
parts = django 

[django] 
recipe = zc.recipe.egg 
eggs = django 
interpreter = django 

>bin/django 

>>> import django 
>>> django 
<module 'django' from '/usr/lib/python2.6/site-packages/django/__init__.pyc'> 
>>> 

वहाँ वैसे भी अंडे /usr/lib/python2.6 में स्थापित उपयोग करने के लिए नहीं buildout मजबूर करने के लिए है?

उत्तर

9

आप buildout बता आपको साइट-pakages या नहीं इन दो निर्देशों में से एक के साथ उपयोग करना चाहते हैं कर सकते हैं: include-site-packages और allowed-eggs-from-site-packages

buildout documentation से:

फिर आप शामिल-साइट- उपयोग कर सकते हैं संकुल = झूठी और exec-sitecustomize = झूठी बिल्डआउट विकल्प आपके पाइथन के साइट संकुल में को समाप्त करने के लिए अपनी साइट कस्टमाइज़ फ़ाइल को निष्पादित करें, यदि क्रमशः मौजूद है।

वैकल्पिक रूप से, आप एक ग्लोब अवगत अंडे की श्वेत सूची है कि साइट-संकुल से आ सकती है के रूप में अनुमति-अंडे-से-साइट-संकुल buildout विकल्प का उपयोग कर सकते हैं। यह मान सभी अंडों को स्वीकार करते हुए "*" पर डिफ़ॉल्ट है।

+0

उन विकल्पों ने केवल मेरे लिए काम किया जब मैं zc.recipe.egg की बजाय z3c.recipe.scripts का उपयोग करता हूं; मुझे यकीन नहीं है कि यह मेरे लिए कुछ गलत कर रहा है, लेकिन शायद यह किसी के लिए उपयोगी होगा। – Daniel

+0

मुझे बिल्डआउट के लिए पीपीआई पेज पर केवल जानकारी का यह महत्वपूर्ण टुकड़ा मिल सकता है। डॉक्स @ http://www.buildout.org/docs/ इसका उल्लेख नहीं करते हैं (या तो वह या खोज टूटा हुआ है)। यह डिफ़ॉल्ट रूप से मुझे परेशान क्यों नहीं करता है। लेकिन मैं इसे स्टेरॉयड पर वर्चुअलएन्व के रूप में देख रहा हूं जो बिल्डआउट पूर्ण इरादे नहीं हो सकता है। –

+0

हां मुझे यह भ्रमित भी लगता है, पीपीआई पर रीडेम वास्तव में पूर्ण प्रलेखन है और 'buildout.org/docs' पर दस्तावेज़ केवल कुछ विषय शामिल हैं। – Ski

3

दो तरीके:

  • नवीनतम 1.5.something buildouts का उपयोग करें: वे डिफ़ॉल्ट रूप से प्रणाली संकुल का उपयोग नहीं करते।

  • बूट ध्वज के साथ बूटस्ट्रैप कमांड चलाएं: python bootstrap.py -s, जिसका अर्थ है "कोई साइट पैकेज नहीं"।

0

एक विकल्प है कि मैं buildout 1.5 जो आपके सिस्टम अजगर से अंडे को बाहर करने के लिए विकल्पों के साथ आते से पहले का उपयोग किया था था

virtualenv

हम चाहते हैं कि वातावरण बनाने के एक virtualenv कस्टम बूटस्ट्रैप लिखते हैं, बूटस्ट्रैप लाने .py और एक न्यूनतम buildout.cfg डाल, लेकिन आप virtualenv सामान्य रूप से उपयोग कर सकते हैं:

cd project virtualenv --no-site-packages ./ 
wget http://...../bootstrap.py 
touch buildout.cfg 
source bin/activate 
python bootstrap.py 
bin/buildout 

और देखा, अपने buildout एक vi के साथ अलग-थलग rtualenv

संबंधित मुद्दे