build से निर्माण
wheels और sdists बनाएँ
build से निर्माण, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
निर्माण का अर्थ
आपके स्रोत कोड को वितरण फ़ाइलों में बदला जाना चाहिए जिन्हें पिप स्थापित कर सके। इसके लिए आधुनिक औज़ार build है, जिसे python -m build के रूप में चलाया जाता है।
यह दो प्रकार की फ़ाइलें बनाता है: स्रोत-वितरण और व्हील।
स्रोत-वितरण बनाम व्हील
दो प्रकार की निर्मित फ़ाइलें:
- स्रोत-वितरण (.tar.gz) एक स्रोत अभिलेख है; पिप इसे स्थापना के समय बनाता है
- व्हील (.whl) पहले से निर्मित अभिलेख है; पिप इसे केवल खोलता है
व्हील अधिक तेज़ी से स्थापित होते हैं और इन्हें प्राथमिकता दी जाती है। स्रोत-वितरण वैकल्पिक रास्ता और आधिकारिक स्रोत होता है।
निर्माण औज़ार स्थापित करना
pip install build के साथ इसे एक बार स्थापित करें। यह एक हल्का अग्रभाग है: यह आपका pyproject.toml पढ़ता है, एक अलग वातावरण तैयार करता है और निर्मित फ़ाइलें बनाने के लिए आपके निर्माण बैकएंड को चलाता है।
आप बैकएंड को सीधे नहीं बुलाते; build उसका समन्वय करता है।
निर्माण चलाना
परियोजना के मूल फ़ोल्डर से python -m build चलाएँ। डिफ़ॉल्ट रूप से यह स्रोत-वितरण और व्हील दोनों बनाता है और उन्हें नई dist/ निर्देशिका में रखता है।
केवल एक बनाने के लिए --wheel या --sdist का उपयोग करें।
args = []
targets = []
if '--sdist' in args:
targets.append('sdist')
if '--wheel' in args:
targets.append('wheel')
if not targets:
targets = ['sdist', 'wheel']
print('Will build:', targets)व्हील फ़ाइलनाम
व्हील के नाम में मेटाडेटा कूटबद्ध होता है: mytool-0.1.0-py3-none-any.whl का अर्थ है नाम mytool, संस्करण 0.1.0, पाइथन 3, ABI की कोई आवश्यकता नहीं और कोई भी प्लेटफ़ॉर्म। शुद्ध-पाइथन पैकेजों को py3-none-any मिलता है।
name = 'mytool'
version = '0.1.0'
wheel = name + '-' + version + '-py3-none-any.whl'
print(wheel)
print('Parts:', wheel[:-4].split('-'))निर्माण का पृथक्करण
डिफ़ॉल्ट रूप से build एक नया आभासी वातावरण बनाता है, आपके [build-system] से requires स्थापित करता है और वहीं निर्माण करता है। इससे यह सुनिश्चित होता है कि निर्माण अनजाने में उन पैकेजों पर निर्भर न हो जो संयोग से आपके वातावरण में मौजूद हैं।
dist फ़ोल्डर की जाँच करना
निर्माण के बाद, dist/ में आपकी निर्मित फ़ाइलें होती हैं। इसे सूचीबद्ध करने से अपलोड करने से पहले यह पुष्टि हो जाती है कि क्या बनाया गया है। यह साधारण निर्देशिका सूची है।
dist = ['mytool-0.1.0.tar.gz', 'mytool-0.1.0-py3-none-any.whl']
for f in dist:
kind = 'sdist' if f.endswith('.tar.gz') else 'wheel'
print(kind.ljust(6), f)व्हील की जाँच करना
व्हील केवल एक ZIP अभिलेख होता है। आप इसे खोलकर जाँच सकते हैं कि आपके मॉड्यूल और डेटा फ़ाइलें मौजूद हैं तथा कोई महत्वपूर्ण चीज़ छूटी नहीं है। यदि यहाँ कोई फ़ाइल गायब है, तो स्थापना के बाद भी वह गायब रहेगी।
स्वच्छ निर्माण
build/ या dist/ में बची हुई पुरानी फ़ाइलें भ्रमित करने वाले परिणाम दे सकती हैं। रिलीज़ निर्माण से पहले इन निर्देशिकाओं को हटा दें, ताकि आप ठीक वही प्रकाशित करें जो वर्तमान स्रोत बनाता है।
stale_dirs = ['build', 'dist', 'mytool.egg-info']
for d in stale_dirs:
print('Remove before clean build:', d)पुनरुत्पाद्य निर्माण
एक ही स्रोत से हमेशा एक जैसी निर्मित फ़ाइलें बननी चाहिए। [build-system] requires में अपने निर्माण बैकएंड के संस्करण निश्चित करें और सक्रिय वातावरण से मान लेने से बचें। पुनरुत्पाद्यता का अर्थ है कि किसी सहकर्मी या सीआई सर्वर को बिल्कुल वही परिणाम मिले।
स्वच्छ निर्माणों के साथ मिलकर यह मेरे कंप्यूटर पर तो चलता है जैसी अप्रत्याशित समस्याओं को दूर करता है।
सीआई में निर्माण
अधिकांश परियोजनाएँ लैपटॉप के बजाय सतत एकीकरण सर्वर पर बनती हैं। सीआई कार्य कोड प्राप्त करता है, python -m build चलाता है और निर्मित फ़ाइलों को सहेजता है। इससे यह सुनिश्चित होता है कि हर बार रिलीज़ एक ज्ञात, स्वच्छ स्थिति से बने।
आप स्थानीय रूप से जो ठीक वही कमांड चलाते हैं, सीआई में भी वही चलता है।
त्वरित जाँच
अपने निर्माण संबंधी ज्ञान की जाँच करें।
पुनरावलोकन
आपने निर्मित फ़ाइलें बनाना सीखा:
pip install build, फिरpython -m builddist/में एक स्रोत-वितरण (.tar.gz) और एक व्हील (.whl) बनते हैं- निर्माण
[build-system]कीrequiresका उपयोग करके अलग वातावरण में होते हैं - रिलीज़ से पहले व्हील की जाँच करें और स्वच्छ निर्माण करें
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 76
- पाठ
- 320
अक्सर पूछे जाने वाले प्रश्न
क्या “build से निर्माण” पाठ निःशुल्क है?
हाँ—“build से निर्माण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“build से निर्माण” में मैं क्या सीखूँगा?
wheels और sdists बनाएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“build से निर्माण” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।