इस गाइड की मदद से जानें कि पायथन में पैकेज कैसे बनाएं, वितरित करें और उपयोग करें।
एक एकल पायथन फ़ाइल तक सीमित एक व्यापक एप्लिकेशन विकसित करने के कठिन कार्य की कल्पना करें। तकनीकी रूप से व्यवहार्य होते हुए भी, यह कुशल, रखरखाव योग्य और पुन: प्रयोज्य सॉफ़्टवेयर के निर्माण के मूल सिद्धांतों के विरुद्ध है। ऐसे कारणों से, सॉफ़्टवेयर के निर्माण और विकास के लिए पैकेज और मॉड्यूल आवश्यक हैं।
पैकेज क्या है?
पायथन में, एक पैकेज तार्किक रूप से संबंधित मॉड्यूल और संसाधनों को एक साथ व्यवस्थित करने का एक तरीका प्रदान करता है। यह एक निर्देशिका है जिसमें कई पायथन मॉड्यूल, उप-पैकेज और अन्य संसाधन शामिल हैं।
पैकेज एक पदानुक्रमित संरचना प्रदान करते हैं, जिससे आप अपने प्रोजेक्ट के कोड को अमूर्तता के विभिन्न स्तरों पर व्यवस्थित कर सकते हैं।
पैकेज और मॉड्यूल के बीच अंतर
जबकि आप दोनों पैकेजों का उपयोग कर सकते हैं और कोड को व्यवस्थित करने के लिए मॉड्यूल, उनके बीच अंतर हैं:
- मापांक: मॉड्यूल एक फ़ाइल है जिसमें पायथन कोड होता है। यह फ़ंक्शंस, क्लासेस, वेरिएबल्स और अन्य ऑब्जेक्ट्स को परिभाषित करता है जिन्हें आप आयात कर सकते हैं और अपने कोड में उपयोग कर सकते हैं।
- पैकेट: एक पैकेज एक या अधिक मॉड्यूल का संग्रह है और इसमें उप-पैकेज भी शामिल हो सकते हैं।
पायथन में पैकेज कैसे बनाएं
पैकेज बनाने के लिए इन निर्धारित चरणों का पालन करें।
चरण 1: एक प्रोजेक्ट निर्देशिका बनाएं
एक प्रोजेक्ट निर्देशिका बनाकर प्रारंभ करें।
study_bud/
चरण 2: एक पैकेज निर्देशिका बनाएं
अपनी प्रोजेक्ट निर्देशिका के अंदर, एक और निर्देशिका बनाएं जो पैकेज निर्देशिका के रूप में काम करेगी। इसे एक सार्थक नाम दें जो पैकेज के उद्देश्य या कार्यक्षमता को दर्शाता हो। पैकेज निर्देशिका में आपके पैकेज से संबंधित मॉड्यूल और उप-पैकेज होंगे।
study_bud/
math_tool/
चरण 3: पैकेज __init__.py फ़ाइल को परिभाषित करें
पैकेज निर्देशिका में, एक __ बनाएँinit__.py फ़ाइल। की उपस्थिति __init__.py फ़ाइल वह है जो निर्देशिका को पायथन में एक पैकेज बनाती है।
यदि आपको पैकेज का उपयोग करते समय किसी कोड को प्रारंभ करने की आवश्यकता है, तो इसे __ में शामिल करेंinit__.py फ़ाइल अन्यथा यह हमेशा खाली है।
study_bud/
math_tool/
__init__.py
चरण 4: पैकेज में मॉड्यूल जोड़ें
पैकेज निर्देशिका के भीतर, पायथन मॉड्यूल (.py) जोड़ें जो फ़ंक्शंस, क्लास या वेरिएबल्स को परिभाषित करते हैं।
इन मॉड्यूल में वास्तविक कोड होता है जो आपके पैकेज की कार्यक्षमता प्रदान करता है। आप पैकेज निर्देशिका के भीतर एकाधिक मॉड्यूल बना सकते हैं।
study_bud/
math_tool/
__init__.py
operations.py
statistics.py
चरण 5: पैकेज में उप-पैकेज जोड़ें
यदि आपके पैकेज में एक पदानुक्रमित संरचना की आवश्यकता है या इसमें विशिष्ट कार्यक्षमताएँ हैं, तो आप पैकेज निर्देशिका के भीतर उप-पैकेज बना सकते हैं।
एक उप-पैकेज मुख्य पैकेज निर्देशिका के भीतर बस एक और पैकेज निर्देशिका है। प्रत्येक उप-पैकेज में यह होना चाहिए __init__.py फ़ाइल। उप-पैकेज आगे के संगठन और कोड को अलग करने की अनुमति देते हैं।
study_bud/
math_tool/
__init__.py
operations.py
statistics.py
geometry/
__init__.py
shapes.py
calculus/
__init__.py
integrations.py
इन चरणों में, आपने एक बनाया है गणित_उपकरण पैकेज, दो मॉड्यूल जोड़े गए (ऑपरेशंस.py और सांख्यिकी.py), और दो उप-पैकेज ज्यामिति और गणना प्रत्येक के पास अपने मॉड्यूल हैं।
इन चरणों का पालन करके आप पैकेज और उप-पैकेज का उपयोग करके संबंधित कार्यक्षमता को आसानी से व्यवस्थित कर सकते हैं, जिससे कोड को प्रबंधित करना और पुन: उपयोग करना आसान हो जाता है।
पायथन में पैकेज के साथ कैसे काम करें
किसी पैकेज के साथ काम करने के लिए आपको इसे आयात करना होगा। आयात और से कीवर्ड आपको अपने कोड में एक पैकेज आयात करने और उपयोग करने की अनुमति देते हैं।
import math_tool # entire package
आप किसी पैकेज से मॉड्यूल, उप-पैकेज या विशिष्ट गुणों को आयात करने के लिए डॉट नोटेशन का भी उपयोग कर सकते हैं। डॉट नोटेशन आपको पैकेज निर्देशिका संरचना के माध्यम से नेविगेट करने की अनुमति देता है। डॉट नोटेशन आपके आयात को अधिक पठनीय और बनाए रखने में आसान बनाता है।
from math_tool.operations import add, multiply # specific functions
उपरोक्त कोड में, आपने पैकेज निर्देशिका से नेविगेट किया है (गणित_उपकरण) तक परिचालन डॉट नोटेशन का उपयोग करके मॉड्यूल और दो फ़ंक्शन आयात किए गए (जोड़ना और गुणा).
पूर्ण आयात बनाम सापेक्ष आयात
साथ शुद्धआयात, आप शीर्ष-स्तरीय पैकेज (रूट पैकेज) से वांछित मॉड्यूल या उप-पैकेज तक पूरा पथ निर्दिष्ट करते हैं। यह पायथन में मॉड्यूल और पैकेज आयात करने का सबसे आम और अनुशंसित तरीका है।
from math_tool.geometry.shapes import parallelogram
से शुरू गणित_उपकरण में जाओ ज्यामिति उप-पैकेज, खोजें आकार.पी.ई मॉड्यूल, और आयात करें चतुर्भुज समारोह।
जबकि रिश्तेदारआयात आपको सापेक्ष आयात निर्दिष्ट करने के लिए डॉट नोटेशन का उपयोग करके वर्तमान मॉड्यूल के स्थान के सापेक्ष आयात करने की अनुमति देता है।
उदाहरण के लिए, अंदर कैलकुलस/integrations.py मॉड्यूल, आप किसी फ़ंक्शन को आयात करने के लिए सापेक्ष आयात का उपयोग कर सकते हैं आकार.पी.ई मॉड्यूल में ज्यामिति उप-पैकेज।
# calculus/integrations.py
from ..geometry.shapes import rhombus
डबल डॉट (''..'') पायथन को बताता है:
- उप-पैकेज निर्देशिका से प्रारंभ करें (गणना) जहां मॉड्यूल (एकीकरण.py) मौजूद।
- मूल पैकेज में जाएँ (गणित_उपकरण) उप-पैकेज की निर्देशिका।
- खोजें ज्यामिति मूल निर्देशिका में उप-पैकेज।
- में जाओ आकार.पी.ई मॉड्यूल और आयात विषमकोण यह से।
तो डॉट नोटेशन वर्तमान मॉड्यूल निर्देशिका से नेविगेट करने के लिए निर्देशिकाओं की संख्या का प्रतिनिधित्व करता है।
सुविधा के लिए उपनाम आयात
आप किसी आयात के लिए एक उपनाम निर्दिष्ट कर सकते हैं जिससे आपके कोड में इसका उल्लेख करना आसान हो जाएगा। लंबे पैकेज या मॉड्यूल नामों के साथ काम करते समय उपनाम उपयोगी होते हैं।
उपनाम निर्दिष्ट करने के लिए इसका उपयोग करें जैसा कीवर्ड.
import math_tool.calculus as cal
पायथन में अपना पैकेज कैसे वितरित करें
पायथन आपको अपना पैकेज बनाने और वितरित करने के लिए उपकरण और एक मंच प्रदान करता है। अपना पैकेज वितरित करने से आप अपना कोड अन्य डेवलपर्स के साथ साझा कर सकते हैं, सहयोग को बढ़ावा दे सकते हैं, उपयोगकर्ताओं के लिए इंस्टॉलेशन को सरल बना सकते हैं और व्यापक पायथन समुदाय में योगदान कर सकते हैं।
चरण 1: PyPI पर एक खाता बनाएँ
पायथन पैकेज इंडेक्स (पीईपीआई) पायथन पैकेज के लिए डिफ़ॉल्ट रिपॉजिटरी है। आप अपने पैकेजों को PyPI पर प्रकाशित कर सकते हैं ताकि अन्य डेवलपर उन्हें आसानी से ढूंढ सकें और इंस्टॉल कर सकें।
अपना याद रखना सुनिश्चित करें उपयोगकर्ता नाम और पासवर्ड क्योंकि आपको PyPI पर अपना पैकेज अपलोड करते समय प्रमाणीकरण के लिए उनकी आवश्यकता होगी।
ये उपकरण आपके लिए एक ही कमांड में वितरण योग्य पैकेज को कॉन्फ़िगर करना, बनाना और पुश करना आसान बनाते हैं।
pip install build wheel twine
चरण 3: एक setup.py फ़ाइल बनाएँ
अपना पैकेज वितरित करने के लिए, एक बनाएं setup.py फ़ाइल आपके प्रोजेक्ट की रूट डायरेक्टरी में। setup.py फ़ाइल में आपके पैकेज के बारे में मेटाडेटा होता है, जैसे उसका नाम, संस्करण, लेखक, विवरण, निर्भरताएँ, और बहुत कुछ।
पैकेज प्रबंधन टूल का उपयोग किया जाएगा setup.py अपने पैकेज को कॉन्फ़िगर करने और बनाने के लिए फ़ाइल।
#setup.py
from setuptools import setup, find_packages
setup(
name='' ,
version='1.0.0',
author='' ,
description='A collection of mathematical utility functions',
packages=find_packages(),
install_requires=[
'numpy',
'scipy',
],
)
चरण 4: पैकेज बनाएं
एक बार आपके पास setup.py फ़ाइल तैयार है, आप इसका उपयोग वितरण योग्य पैकेज बनाने के लिए कर सकते हैं। आपके टर्मिनल या कमांड प्रॉम्प्ट में, निर्देशिका पर नेविगेट करें युक्त setup.py फ़ाइल करें और निम्न आदेश निष्पादित करें:
python setup.py sdist bdist_wheel
यह कमांड एक उत्पन्न करता है जिला निर्देशिका जिसमें एक स्रोत वितरण पैकेज (.tar.gz) और एक पहिया वितरण पैकेज (.whl) शामिल है। आप यह भी देखेंगे निर्माण और जानकारी निर्देशिका।
चरण 5: पैकेज को PyPI पर अपलोड करें
आपका पैकेज तैयार होने पर, आप इसे PyPI पर अपलोड कर सकते हैं।
निम्नलिखित आदेश निष्पादित करें:
twine upload dist/*
> Uploading distributions to https://upload.pypi.org/legacy/
> Enter your username: **********
> Enter your password: **********
अपने पर जाएँ पीईपीआई अपना पैकेज देखने के लिए प्रोजेक्ट प्रबंधन पृष्ठ।
अब अन्य डेवलपर जिन्हें आपका पैकेज उपयोगी लगता है वे इसे स्थानीय रूप से इंस्टॉल और उपयोग कर सकते हैं।
पायथन पैकेज कैसे स्थापित करें
पैकेज प्रबंधकों को पिप पसंद है Python पैकेज इंडेक्स (PyPI) सहित विभिन्न स्रोतों से Python पैकेजों को स्थापित करना और प्रबंधित करना आसान बनाएं। का उपयोग करके एक पैकेज स्थापित करने के लिए रंज, अपना टर्मिनल या कमांड प्रॉम्प्ट खोलें और निम्नलिखित कमांड का उपयोग करें:
pip install
सभी उपलब्ध कमांड और विकल्प देखने के लिए रंज उपयोग --मदद विकल्प।
स्वच्छ मॉड्यूल लिखना
पैकेज में मॉड्यूल और उप-पैकेज होते हैं जिनमें बदले में अन्य मॉड्यूल होते हैं। अपने कोड को मॉड्यूलर बनाना एक अच्छा अभ्यास है, खासकर जब बड़ी परियोजनाओं पर काम कर रहे हों, क्योंकि यह बेहतर कोड संगठन और पठनीयता को बढ़ावा देता है। इसलिए पायथन के साथ विकास करते समय मॉड्यूल को स्पष्टता के साथ लिखना महत्वपूर्ण है।