क्या आप अपने पायथन वातावरण और निर्भरता को नियंत्रण में रखने के लिए पिप, वर्चुअलएन्व, कोंडा, पोएट्री और पाइनेव जैसे कई टूल का उपयोग करके थक गए हैं? आप अकेले नहीं हैं! पायथन परियोजनाओं को प्रबंधित करना एक सिरदर्द की तरह महसूस हो सकता है, खासकर उन सभी अलग-अलग पैकेज प्रबंधकों और उपकरणों के साथ, जिनसे आपको जूझना पड़ता है।
यूवी दर्ज करें - यूनिवर्सल वर्चुअलएन्व। इसे एक वन-स्टॉप-शॉप पैकेज मैनेजर के रूप में सोचें जो आपकी पायथन विकास प्रक्रिया को सुव्यवस्थित और तेज़ करने के लिए डिज़ाइन किया गया है।
यूवी ने पिप, पिप-टूल्स, पियेनव, वर्चुअलएन्व और कविता की सर्वोत्तम सुविधाओं को एकीकृत करने के लिए एक अन्य आधुनिक पैकेजिंग प्रबंधक, राई से प्रेरणा ली है। रस्ट का उपयोग करके निर्मित, यूवी न केवल तेज़ है बल्कि अत्यधिक कुशल है, जो निर्भरता के प्रबंधन से लेकर आभासी वातावरण बनाने तक सब कुछ सरल बनाता है।
संक्षेप में, यूवी समेकन के बारे में है। जब आपके पास एक एकीकृत अनुभव हो सकता है तो एकाधिक टूल के बीच स्विच क्यों करें? इसका उद्देश्य पायथन विकास से आने वाली बाधाओं को दूर करना है, जो आपको अपनी परियोजनाओं को प्रबंधित करने का अधिक सुसंगत और तेज़ तरीका प्रदान करता है। और यह तेजी से भड़क भी रहा है! यह गतिशील प्रबंधन के लिए नए द्वार खोलता है
यूवी की सबसे रोमांचक विशेषताओं में से एक सीधे आपकी पायथन स्क्रिप्ट के भीतर निर्भरता जोड़ने की क्षमता है। कल्पना कीजिए कि आपके पास इस तरह की एक सरल स्क्रिप्ट है:
# 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
सही कमांड चुनने से यह सुनिश्चित होता है कि आपका प्रोजेक्ट ठीक से प्रबंधित है और साझा करना या तैनात करना आसान है।
हम सब वहां रहे हैं—आपका कोड आज काम करता है, फिर कल टूट जाता है क्योंकि पैकेज अपडेट हो जाता है। यूवी के साथ, आप स्थिरता और प्रतिलिपि प्रस्तुत करने योग्यता सुनिश्चित करने के लिए पैकेज संस्करणों को लॉक करके इसे रोक सकते हैं:
[tool.uv] exclude-newer = "2023-10-16T00:00:00Z"
इस तरह, भले ही आपकी निर्भरता के नए संस्करण सामने आते हों, आपका प्रोजेक्ट स्थिर रहता है। लंबी अवधि की परियोजनाओं के लिए बिल्कुल सही जहां आप आश्चर्य बर्दाश्त नहीं कर सकते!
कई डेवलपर्स को कई परियोजनाओं पर काम करना पड़ता है जिनके लिए विभिन्न पायथन संस्करणों की आवश्यकता होती है। यूवी स्विचिंग संस्करणों को इतना आसान बनाता है:
$ uv python install 3.8 3.9 3.10
एक बार संस्करण स्थापित हो जाने के बाद, उनके बीच स्विच करना निर्बाध है:
$ uv run --python 3.10 app.py
और यदि आप किसी प्रोजेक्ट के लिए एक विशिष्ट संस्करण लॉक करना चाहते हैं:
$ uv python pin 3.9
प्येनव कमांड के लिए अब कोई बाजीगरी नहीं—यूवी आपके लिए सभी भारी सामान उठाने का काम संभालता है।
यूवी एक पिप जैसा अनुभव प्रदान करता है लेकिन टर्बोचार्ज्ड प्रदर्शन के साथ। पैकेज स्थापित करना सीधा है:
$ uv pip install flask
वैकल्पिक निर्भरता जोड़ने या सीधे GitHub रेपो से इंस्टॉल करने की आवश्यकता है? पसीनारहित:
$ uv pip install 'torch>=1.10.0' "git https://github.com/astral-sh/ruff"
धीमे इंस्टॉलेशन के लिए अब और इंतजार नहीं करना पड़ेगा—यूवी काम तेजी से और प्रभावी ढंग से पूरा करता है।
चाहे आप कोड लांट कर रहे हों या फ़ाइलें फ़ॉर्मेट कर रहे हों, यूवी सीएलआई टूल इंस्टॉल करना आसान बनाता है:
वैश्विक स्तर पर:
$ uv tool install ruff
स्थानीय रूप से एक परियोजना के भीतर:
$ uv add ruff
विश्व स्तर पर स्थापित किए बिना क्षणिक कमांड चलाएँ:
$ uvx black my_code.py
पैकेज विवादों और पर्यावरण प्रदूषण को अलविदा कहें—बस जब भी और जहां भी आपको अपने उपकरणों की आवश्यकता हो, चलाएं।
यदि आप अपने पायथन विकास को सुपरचार्ज करना चाहते हैं और कई उपकरणों के साथ कुश्ती बंद करना चाहते हैं, तो यूवी आपका उत्तर है। अपने सुव्यवस्थित कमांड, प्रतिलिपि प्रस्तुत करने योग्य वातावरण और कुशल पैकेज प्रबंधन के साथ, यूवी पायथन विकास को एक काम के बजाय एक आनंददायक बनाता है।
घूमने के लिए यूवी लेने के लिए तैयार हैं? ? आज ही शुरुआत करें और अपने पायथन प्रोजेक्ट्स को प्रबंधित करने का बेहतर तरीका अनुभव करें।
भाग 2 के लिए बने रहें, जहां हम pyproject.toml का लाभ उठाने, वैश्विक बनाम स्थानीय टूल इंस्टॉलेशन को संभालने, और जटिल वातावरण का प्रबंधन करते समय यूवी आपका सबसे अच्छा दोस्त कैसे हो सकता है जैसी उन्नत सुविधाओं में गहराई से उतरेंगे।
हैप्पी कोडिंग! ?✨
अधिक विवरण और पूर्ण दस्तावेज़ीकरण के लिए, यूवी दस्तावेज़ देखें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3