2011-04-15 21 views
14

मैं एक मौजूदा पायथन मॉड्यूल विकसित करना शुरू करना चाहता हूं। इसमें एक स्रोत फ़ोल्डर और setup.py स्क्रिप्ट बनाने और स्थापित करने के लिए है। बिल्ड स्क्रिप्ट सिर्फ स्रोत फ़ाइलों की प्रतिलिपि बनाता है क्योंकि वे सभी पायथन स्क्रिप्ट हैं।पाइथन मॉड्यूल का विकास

वर्तमान में, मैंने स्रोत फ़ोल्डर को संस्करण नियंत्रण में रखा है और जब भी मैं कोई परिवर्तन करता हूं, मैं फिर से निर्माण और पुनः स्थापित करता हूं। यह थोड़ा धीमा प्रतीत होता है, और जब भी मैं एक संशोधन करता हूं, तो यह मेरे पाइथन इंस्टॉल में मेरे परिवर्तनों को "प्रतिबद्ध" करने के लिए अच्छी तरह से व्यवस्थित नहीं होता है। मैं अपने आयात विवरण को मेरी विकास निर्देशिका पर रीडायरेक्ट करने का कारण कैसे बना सकता हूं?

उत्तर

20

virtualenv का उपयोग करें और अपने मॉड्यूल को वर्चुअल पायथन पर्यावरण से जोड़ने के लिए python setup.py develop का उपयोग करें। यह आपके प्रोजेक्ट के पायथन पैकेज/मॉड्यूल को इंस्टॉल करने के बिना sys.path पर दिखाई देगा।

उदाहरण:

% virtualenv ~/virtenv 
% . ~/virtenv/bin/activate 
(virtenv)% cd ~/myproject 
(virtenv)% python setup.py develop 
+0

virtualenv –

0

बदलें अपने स्रोत निर्देशिका के लिए PYTHONPATH। एक अच्छा विचार है कि ईसीएलआईपीएसई जैसे आईडीई के साथ काम करना जो डिफ़ॉल्ट पायथनपैथ को ओवरराइड करता है।

+1

जाने का रास्ता PYTHONPATH के साथ लगभग नगण्य है वास्तव में आखिरी बात एक करना होगा .. –

+0

@Sentinel, कर सकता है आप कृपया विस्तृत करें? – Gus

2

distrubute पैकेज स्थापित करें और फिर डेवलपर मोड का उपयोग करें। बस python setup.py develop --user का उपयोग करें और यह आपके कार्यक्षेत्र में आपके उपयोगकर्ता डीआईआर स्थान में पथ पॉइंटर्स रखेगा।

+0

विकास विकल्प सादा setuptools के साथ भी समर्थित है और वितरित स्थापित किए बिना (यदि कोई नहीं चाहता है)। – Paolo

7

Virtualenv पहले से ही उल्लेख किया गया था।

और जैसे ही आपकी फ़ाइलें पहले से ही संस्करण नियंत्रण में हैं, आप एक कदम आगे जा सकते हैं और अपने रेपो (or a specific branch or tag) को अपने कामकाजी माहौल में स्थापित करने के लिए Pip का उपयोग कर सकते हैं।

पिप के संपादन योग्य विकल्प के लिये दस्तावेज देखें:

-e VCS+REPOS_URL[@REV]#egg=PACKAGE, --editable=VCS+REPOS_URL[@REV]#egg=PACKAGE 

एक चेकआउट से सीधे एक पैकेज को स्थापित करें। स्रोत को src/PACKAGE (लोअर-केस) और में स्थापित किया जाएगा (setup.py विकसित का उपयोग करके)।

अब आप उन फ़ाइलों पर काम कर सकते हैं जो आपके लिए स्वचालित रूप से चेक आउट हो जाते हैं और जब आप इसे महसूस करते हैं, तो आप अपनी सामग्री को प्रतिबद्ध करते हैं और इसे मूल भंडार में वापस धक्का देते हैं।

एक अच्छा, सामान्य अवलोकन के विषय में पिप प्राप्त करने के लिए और virtualenv इस पोस्ट देखें: http://www.saltycrane.com/blog/2009/05/notes-using-pip-and-virtualenv-django

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