2017-04-27 19 views
15

मैंने पायथन पर काम करना शुरू कर दिया। मैंने अपनी परियोजना में requirement.txt और setup.py को जोड़ा है। लेकिन मैं अभी भी दोनों फाइलों के बारे में उलझन में हूँ। मुझे कुछ जानकारी मिली है जैसे setup.py को पुनर्वितरण योग्य चीजों के लिए डिज़ाइन किया गया है और आवश्यकताएँ.txt को गैर-पुनर्वितरण योग्य चीज़ों के लिए डिज़ाइन किया गया है। लेकिन मुझे नहीं पता कि यह सही है या नहीं।require.txt बनाम setup.py

कृपया मेरी मदद करनी चाहिए।

+0

हाय @lucy SO में आपका स्वागत है ... आपको एक [mvce] (https://stackoverflow.com/help/mcve) –

+0

बनाने की आवश्यकता है क्या आपने अपना सटीक शीर्षक उपयोग करके वेब खोजा है? [यह आलेख] (https://caremad.io/posts/2013/07/setup-vs-requirement/) (जब मैंने खोजा था तो पहली हिट) इस विषय पर मैंने सबसे अच्छा पढ़ा है। – Chris

+1

यह आलेख उपयोगी हो सकता है: https://caremad.io/posts/2013/07/setup-vs-requirement/ (क्षमा करें, आवश्यक उत्तर निकालने के लिए बहुत आलसी)। एक और बात यह है कि, कुछ टूल्स (जैसे परीक्षण) में एक या दूसरे की तरफ उनकी पूर्वाग्रह हो सकती है - लेकिन अगर आपने अभी पाइथन पर काम करना शुरू कर दिया है तो इसे परेशान न करें। – drdaeman

उत्तर

10

requirements.txt

यह आपको अपने विकास के वातावरण स्थापित करने के लिए मदद करता है। pip जैसे प्रोग्रामों में फ़ाइल में सूचीबद्ध सभी संकुल को स्थापित करने के लिए इस्तेमाल किया जा सकता है। इसके बाद आप अपनी पायथन लिपि विकसित करना शुरू कर सकते हैं।

setup.py

यह आपको संकुल बनाने के लिए, कि आप पुनर्वितरित कर सकते हैं अनुमति देता है। यह स्क्रिप्ट आपके पैकेज को स्थापित करने के लिए है, अपने विकास पर्यावरण को pip -r < requirements.txt के रूप में तैयार न करें। setup.py पर अधिक जानकारी के लिए this answer देखें।

आपकी परियोजना की निर्भरता दोनों फाइलों में सूचीबद्ध हैं।

+0

किस मामले में मेरे पास केवल एक ही होगा? मेरे पास दोनों में क्या होगा? –

+1

एआरएम ... आप बस अपनी स्थानीय मशीन पर मज़ा के लिए स्क्रिप्ट: न तो। स्क्रिप्ट कई मशीनों/vitualenvs पर विकसित किया गया है लेकिन पुनर्वितरित नहीं किया गया है: requirements.txt। स्क्रिप्ट केवल आपकी मशीन पर विकसित की जाती है लेकिन इसे फिर से वितरित किया जाना चाहिए: setup.py। स्क्रिप्ट को कई वातावरण में पुनर्वितरित और विकसित किया जाएगा: दोनों। – AndreasT

+0

क्या आप इसे उत्तर में जोड़ सकते हैं? –