"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > यूवी पार्ट के साथ पायथन प्रोजेक्ट प्रबंधन में महारत हासिल करना, कविता को छोड़ने का समय आ गया है

यूवी पार्ट के साथ पायथन प्रोजेक्ट प्रबंधन में महारत हासिल करना, कविता को छोड़ने का समय आ गया है

2024-11-04 को प्रकाशित
ब्राउज़ करें:172

Mastering Python Project Management with uv PartIt

क्या आप अपने पायथन वातावरण और निर्भरता को नियंत्रण में रखने के लिए पिप, वर्चुअलएन्व, कोंडा, पोएट्री और पाइनेव जैसे कई टूल का उपयोग करके थक गए हैं? आप अकेले नहीं हैं! पायथन परियोजनाओं को प्रबंधित करना एक सिरदर्द की तरह महसूस हो सकता है, खासकर उन सभी अलग-अलग पैकेज प्रबंधकों और उपकरणों के साथ, जिनसे आपको जूझना पड़ता है।

यूवी दर्ज करें - यूनिवर्सल वर्चुअलएन्व। इसे एक वन-स्टॉप-शॉप पैकेज मैनेजर के रूप में सोचें जो आपकी पायथन विकास प्रक्रिया को सुव्यवस्थित और तेज़ करने के लिए डिज़ाइन किया गया है।


एक छोटी सी पिछली कहानी

यूवी ने पिप, पिप-टूल्स, पियेनव, वर्चुअलएन्व और कविता की सर्वोत्तम सुविधाओं को एकीकृत करने के लिए एक अन्य आधुनिक पैकेजिंग प्रबंधक, राई से प्रेरणा ली है। रस्ट का उपयोग करके निर्मित, यूवी न केवल तेज़ है बल्कि अत्यधिक कुशल है, जो निर्भरता के प्रबंधन से लेकर आभासी वातावरण बनाने तक सब कुछ सरल बनाता है।

यूवी का उद्देश्य

संक्षेप में, यूवी समेकन के बारे में है। जब आपके पास एक एकीकृत अनुभव हो सकता है तो एकाधिक टूल के बीच स्विच क्यों करें? इसका उद्देश्य पायथन विकास से आने वाली बाधाओं को दूर करना है, जो आपको अपनी परियोजनाओं को प्रबंधित करने का अधिक सुसंगत और तेज़ तरीका प्रदान करता है। और यह तेजी से भड़क भी रहा है! यह गतिशील प्रबंधन के लिए नए द्वार खोलता है


1. इनलाइन स्क्रिप्ट मेटाडेटा के साथ पोर्टेबल कोड

आइए निर्भरताओं के बारे में बात करें

यूवी की सबसे रोमांचक विशेषताओं में से एक सीधे आपकी पायथन स्क्रिप्ट के भीतर निर्भरता जोड़ने की क्षमता है। कल्पना कीजिए कि आपके पास इस तरह की एक सरल स्क्रिप्ट है:

# app.py
import requests
from rich.pretty import pprint

response = requests.get("https://peps.python.org/api/peps.json")
data = response.json()
pprint([(k, v["title"]) for k, v in data.items()][:10])

इस स्क्रिप्ट को चलाने का मतलब आमतौर पर एक आभासी वातावरण स्थापित करना और निर्भरता को मैन्युअल रूप से स्थापित करना है। यूवी के साथ, आप अपनी सभी निर्भरताओं को सीधे स्क्रिप्ट में एम्बेड कर सकते हैं, जिससे यह स्वयं निहित और साझा करने योग्य बन सकता है:

$ uv add --script app.py 'requests



स्वचालित मेटाडेटा जनरेशन

यह स्क्रिप्ट फ़ाइल में मेटाडेटा जोड़ता है:

# /// script
# dependencies = [
#   "requests



और बस इतना ही! आप इस फ़ाइल को किसी और के साथ साझा कर सकते हैं, और वे इसे आसानी से चला सकते हैं:

$ uv run app.py

और वोइला—कोई बाहरी सेटअप की आवश्यकता नहीं है! यह सब यूवी की गति और दक्षता को धन्यवाद।


2. आभासी वातावरण बनाना और प्रबंधित करना

आभासी वातावरण के साथ शुरुआत करना

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

$ uv venv

यह पृथक वातावरण वाली एक .venv निर्देशिका बनाएगा। यदि आप एक कस्टम निर्देशिका या पायथन संस्करण निर्दिष्ट करना चाहते हैं, तो आप यह कर सकते हैं:

$ uv venv my_env --python 3.9

पर्यावरण उपयोग के लिए तैयार है, और यूवी आपके सभी आदेशों के लिए स्वचालित रूप से इसका पता लगाएगा, जैसे पैकेज स्थापित करना या स्क्रिप्ट चलाना।

यूवी ऐड बनाम यूवी पिप इंस्टाल का उपयोग कब करें

  • uv add का उपयोग करें: जब आप अपने प्रोजेक्ट की pyproject.toml फ़ाइल में निर्भरता जोड़ना चाहते हैं। यह सबसे अच्छा है जब आप एक परियोजना विकसित कर रहे हैं और सभी निर्भरताओं का ट्रैक रखना चाहते हैं, जिससे परियोजना आसानी से साझा करने योग्य और प्रतिलिपि प्रस्तुत करने योग्य बन सके। हम इसे अगली पोस्ट में कवर करेंगे, बने रहें!

    $ uv add fastapi
    

    यह आपके pyproject.toml को अपडेट कर देगा और संस्करण को uv.lock में लॉक कर देगा।

  • यूवी पिप इंस्टॉल का उपयोग करें: जब आप प्रोजेक्ट फ़ाइल को संशोधित किए बिना त्वरित उपयोग के लिए पैकेज इंस्टॉल करना चाहते हैं, या वैश्विक टूल के लिए जहां आपको उन्हें pyproject.toml में ट्रैक करने की आवश्यकता नहीं है। यूवी पिप को तत्काल, एकमुश्त इंस्टालेशन के रूप में सोचें।

    $ uv pip install requests
    

सही कमांड चुनने से यह सुनिश्चित होता है कि आपका प्रोजेक्ट ठीक से प्रबंधित है और साझा करना या तैनात करना आसान है।


3. प्रतिलिपि प्रस्तुत करने योग्यता के लिए संस्करण लॉक करें

क्या कभी अपडेट के कारण आपका कोड टूटा है?

हम सब वहां रहे हैं—आपका कोड आज काम करता है, फिर कल टूट जाता है क्योंकि पैकेज अपडेट हो जाता है। यूवी के साथ, आप स्थिरता और प्रतिलिपि प्रस्तुत करने योग्यता सुनिश्चित करने के लिए पैकेज संस्करणों को लॉक करके इसे रोक सकते हैं:

[tool.uv]
exclude-newer = "2023-10-16T00:00:00Z"

इस तरह, भले ही आपकी निर्भरता के नए संस्करण सामने आते हों, आपका प्रोजेक्ट स्थिर रहता है। लंबी अवधि की परियोजनाओं के लिए बिल्कुल सही जहां आप आश्चर्य बर्दाश्त नहीं कर सकते!


4. पायथन संस्करणों का प्रबंधन

विभिन्न परियोजनाएँ, विभिन्न पायथन संस्करण? कोई बात नहीं!

कई डेवलपर्स को कई परियोजनाओं पर काम करना पड़ता है जिनके लिए विभिन्न पायथन संस्करणों की आवश्यकता होती है। यूवी स्विचिंग संस्करणों को इतना आसान बनाता है:

$ uv python install 3.8 3.9 3.10

एक बार संस्करण स्थापित हो जाने के बाद, उनके बीच स्विच करना निर्बाध है:

$ uv run --python 3.10 app.py

और यदि आप किसी प्रोजेक्ट के लिए एक विशिष्ट संस्करण लॉक करना चाहते हैं:

$ uv python pin 3.9

प्येनव कमांड के लिए अब कोई बाजीगरी नहीं—यूवी आपके लिए सभी भारी सामान उठाने का काम संभालता है।


5. परेशानियों को अलविदा कहें

यह रंज है—लेकिन तेज़ और बेहतर

यूवी एक पिप जैसा अनुभव प्रदान करता है लेकिन टर्बोचार्ज्ड प्रदर्शन के साथ। पैकेज स्थापित करना सीधा है:

$ uv pip install flask

वैकल्पिक निर्भरता जोड़ने या सीधे GitHub रेपो से इंस्टॉल करने की आवश्यकता है? पसीनारहित:

$ uv pip install 'torch>=1.10.0' "git https://github.com/astral-sh/ruff"

धीमे इंस्टॉलेशन के लिए अब और इंतजार नहीं करना पड़ेगा—यूवी काम तेजी से और प्रभावी ढंग से पूरा करता है।


6. सीएलआई टूल्स को विश्व स्तर पर और आसानी से प्रबंधित करें

काले से लेकर रफ तक, अपने उपकरण झंझट-मुक्त प्राप्त करें

चाहे आप कोड लांट कर रहे हों या फ़ाइलें फ़ॉर्मेट कर रहे हों, यूवी सीएलआई टूल इंस्टॉल करना आसान बनाता है:

  • वैश्विक स्तर पर:

    $ uv tool install ruff
    
  • स्थानीय रूप से एक परियोजना के भीतर:

    $ uv add ruff
    
  • विश्व स्तर पर स्थापित किए बिना क्षणिक कमांड चलाएँ:

    $ uvx black my_code.py
    

पैकेज विवादों और पर्यावरण प्रदूषण को अलविदा कहें—बस जब भी और जहां भी आपको अपने उपकरणों की आवश्यकता हो, चलाएं।


यदि आप अपने पायथन विकास को सुपरचार्ज करना चाहते हैं और कई उपकरणों के साथ कुश्ती बंद करना चाहते हैं, तो यूवी आपका उत्तर है। अपने सुव्यवस्थित कमांड, प्रतिलिपि प्रस्तुत करने योग्य वातावरण और कुशल पैकेज प्रबंधन के साथ, यूवी पायथन विकास को एक काम के बजाय एक आनंददायक बनाता है।

घूमने के लिए यूवी लेने के लिए तैयार हैं? ? आज ही शुरुआत करें और अपने पायथन प्रोजेक्ट्स को प्रबंधित करने का बेहतर तरीका अनुभव करें।


भाग 2 के लिए बने रहें, जहां हम pyproject.toml का लाभ उठाने, वैश्विक बनाम स्थानीय टूल इंस्टॉलेशन को संभालने, और जटिल वातावरण का प्रबंधन करते समय यूवी आपका सबसे अच्छा दोस्त कैसे हो सकता है जैसी उन्नत सुविधाओं में गहराई से उतरेंगे।

हैप्पी कोडिंग! ?✨

अधिक विवरण और पूर्ण दस्तावेज़ीकरण के लिए, यूवी दस्तावेज़ देखें।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/thomas_bury_b1a50c1156cbf/mastering-python-project-management-with-uv-part1-its-time-to-ditch-poetry-3bi0?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 .comdelete से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3