2010-08-20 13 views
10

मैं virtualenv से buildout पर एक प्रोजेक्ट को स्थानांतरित करने का प्रयास कर रहा हूं, लेकिन मुझे नहीं लगता कि मैंने buildout की पूरी अवधारणा को समझ लिया है। Zope के साथ इसका उपयोग करने के संदर्भ में मैंने पाया है कि सभी ट्यूटोरियल buildout पर चर्चा करते हैं, जिसका मैं उपयोग नहीं कर रहा हूं और इसलिए यह नहीं देख सकता कि कैसे जारी रखा जाए।वर्चुअलएन्व से बिल्डआउट में माइग्रेट कैसे करें?

virtualenv साथ मेरे फ़ाइल संरचना इस प्रकार है:

myapp/ 
    app.py 

कौन सा /path/to/venvs/myapp/bin/python /path/to/myapp/script.py का उपयोग कर चलाया जाता है।

buildout के साथ, मेरी फ़ाइल संरचना है:

myapp/ 
    app.py 
    bootstrap.py 
    buildout.cfg 

python bootstrap.py चल रहा है और bin/buildout मुझे इन अतिरिक्त फ़ाइलें देता है:

myapp/ 
    bin/ 
    buildout 
    eggs/ 
    setuptools-0.6c12dev_r80622-py2.6.egg 
    tornado-1.0.1-py2.6.egg 
    parts/ 

इस बिंदु मैं अनिश्चित हूँ पर कैसे मेरे app "चलाने के लिए" ।

सलाह?

उत्तर

3

निम्नलिखित नुस्खा, अंडे के रूप में बवंडर स्थापित करेगा और बर्नडोडा अंडे को खोजने के लिए सही खोज पथ के साथ बिन निर्देशिका में एक अजगर और मैप स्क्रिप्ट बनाएं।

[buildout] 
parts = python 
eggs = tornado 
extra-paths = ${buildout:directory} 

[python] 
recipe = zc.recipe.egg 
interpreter = python 
eggs = ${buildout:eggs} 
entry-points = myapp=app:main 
extra-paths = ${buildout:extra-paths} 
3

Buildout और virtualenv वास्तव में सामरिक रूप से संबंधित हैं। बिल्डआउट वास्तव में एक बाध्य और नियंत्रित फैशन में सॉफ़्टवेयर की तैनाती के बारे में है, जहां वर्चुअलएन्व पर्यावरण को encapsulating के बारे में है कि Python सॉफ्टवेयर भीतर चलाता है। बिल्डआउट प्रदान करता है कि वर्चुअलएन्व स्वयं के भीतर क्या करता है, और उसके बाद थोड़ा और लपेटता है।

बिल्डआउट को अपने कोड को कैसे लेना है और इसे चलाने के लिए तैयार रिमोट सिस्टम पर डालने के बारे में सोचें। उस प्रक्रिया में से कुछ एक साफ सैंडबॉक्स बनाने के साथ शुरू होता है (जो वर्चुअलएन्व भी प्रदान कर सकता है) - और फिर आपको पुस्तकालयों, टुकड़ों और भागों में जोड़ने की आवश्यकता होती है।

मैं बिल्डआउट विशेषज्ञ नहीं हूं, लेकिन मैं आपकी पाइथन मुख्य कोड को आपकी निर्देशिका संरचना में "बिन" के नीचे दिखाने की अपेक्षा करता हूं, और आप इसे किसी भी तरह से वहां से आमंत्रित करेंगे।

0

हमारी परियोजना में, हम या तो ज़ोप का उपयोग नहीं करते हैं। हमने zc.buildout और मानक पायथन पैकेजिंग टूल का उपयोग करके अपने कोड को व्यवस्थित करने (और पीईपीआई के माध्यम से वितरित) के बारे में छात्रों के लिए एक परिचय लिखने का समय लिया। यह भी उपयोगी हो सकता है जो भी इस धागे को पढ़ता है: http://www.idiap.ch/software/bob/docs/releases/v1.2.2/sphinx/html/OrganizeYourCode.html

+0

यह लिंक मर चुका है, कृपया इसे अपडेट करें। – shuttle87