uv का उपयोग करके standalone Python स्क्रिप्ट बनाना
(blog.dusktreader.dev)- Python स्क्रिप्ट में
uvका उपयोग करके dependency install किए बिना तुरंत चल सकने वाली standalone स्क्रिप्ट बनाने का तरीका - यह Go प्रोजेक्ट में API testing के लिए Python स्क्रिप्ट इस्तेमाल करने की स्थिति से निकला एक व्यावहारिक तरीका है
मौजूदा तरीके की सीमाएँ
httpx,IPython,loguruजैसे पैकेज इस्तेमाल करने वाली Python स्क्रिप्ट चलाने के लिए पहले इनमें से एक विकल्प चुनना पड़ता था- system Python में सीधे पैकेज install करना
- virtual environment बनाकर पैकेज install करने के बाद चलाना
- दोनों तरीके झंझट भरे हैं, system environment को प्रभावित कर सकते हैं, और दूसरों के साथ share करते समय लंबी explanation की ज़रूरत पड़ती है
uv से आसान स्क्रिप्ट execution
uvएक Python package manager और pip replacement tool है, जो isolated execution environment में Python स्क्रिप्ट चलाने देता है# /// scriptcomment के जरिए स्क्रिप्ट के अंदर ही dependency जानकारी दर्ज की जा सकती है# /// script # dependencies = ["ipython", "httpx", "loguru"] # ///- यह सेटिंग शामिल होने पर स्क्रिप्ट को इस कमांड से चलाया जा सकता है:
uv run jam_users.py - uv अपने आप temporary virtual environment बनाता है, ज़रूरी पैकेज install करता है, और फिर स्क्रिप्ट को चलाता है
इसे executable स्क्रिप्ट बनाना
- सामान्य Python स्क्रिप्ट की तरह
#!/usr/bin/env pythonसे इसे executable बनाया जा सकता है, लेकिन यह तरीका uv के script comment को पहचान नहीं पाता - इसके बजाय नीचे की तरह shebang में सीधे uv command डालकर इसे हल किया जा सकता है
#!/usr/bin/env -S uv run --script # /// script # dependencies = ["ipython", "httpx", "loguru"] # /// - इस तरीके में
chmod +xके बाद इसे सीधे चलाया जा सकता है, और दूसरे Unix सिस्टम पर भी अगर uv हो तो यह वैसे ही काम करेगा:./jam_users.py
फायदे और उपयोगिता
- uv तरीका दूसरे लोगों को स्क्रिप्ट देने के समय बहुत उपयोगी है
- जटिल pre-setup के बिना ज़रूरी पैकेज और environment अपने आप set हो जाते हैं
- यह system Python या global environment को प्रदूषित नहीं करता
- एक ही स्क्रिप्ट से execution और dependency management दोनों हो जाते हैं
लेखक बताते हैं कि पहले दूसरों को Python स्क्रिप्ट देते समय installation instructions जटिल हो जाती थीं, लेकिन अब uv के जरिए इस समस्या को आसानी से हल किया जा सकता है
- छोटे test scripts ही नहीं, बल्कि production automation scripts में भी यह प्रभावी है
अभी कोई टिप्पणी नहीं है.