मैं एक छोटी पाइथन परियोजना को ज़िप या अंडा फ़ाइल के रूप में पैकेज करने पर काम कर रहा हूं ताकि इसे वितरित किया जा सके। मैं प्रोजेक्ट की कॉन्फ़िगरेशन फ़ाइलों को शामिल करने के 2 तरीकों से आया हूं, जिनमें से दोनों समान परिणाम उत्पन्न करते हैं।पाइथन वितरण में फ़ाइलों को शामिल करने के लिए 2 तकनीकें: जो बेहतर है?
विधि 1:
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage'],
data_files = [('config', ['config\propFiles1.ini',
'config\propFiles2.ini',
'config\propFiles3.ini'])]
)
विधि 2:
setup.py में इस कोड को शामिल करें
from distutils.core import setup
setup(name='ProjectName',
version='1.0',
packages=['somePackage']
)
:
setup.py में इस कोड को शामिल करें
फिर, इसमें इस पंक्ति के साथ एक MANIFEST.in फ़ाइल बनाएं:
include config\*
क्या विधियों के बीच कोई अंतर है? किसको प्राथमिकता दी जाती है? मैं पहले की तरफ झुकता हूं क्योंकि तब कोई MANIFEST.in फ़ाइल जरूरी नहीं है। हालांकि, पहली विधि में आपको प्रत्येक फ़ाइल को अलग-अलग निर्दिष्ट करना होगा जबकि दूसरे में आप केवल संपूर्ण फ़ोल्डर शामिल कर सकते हैं। क्या मुझे कुछ और ध्यान में रखना चाहिए? मानक अभ्यास क्या है?
नोट: पथ बनाने के लिए os.path.join का उपयोग करें; "\" का उपयोग विंडोज-विशिष्ट है। –
आप सभी प्लेटफॉर्म पर '/' का भी उपयोग कर सकते हैं। ध्यान दें कि अगर आपके पास 'config \ notes.txt' जैसी फ़ाइल है जो \ n' एक नई लाइन में बदल जाएगी! आप बस भाग्यशाली हैं \ \' कुछ भी नहीं खड़े हैं। –
@ इयान बाइकिंग - टिप के लिए धन्यवाद! मैंने उन सभी को – froadie