2 पॉइंट द्वारा GN⁺ 2025-01-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • ~/bin/ डायरेक्टरी में बहुत-सी automation scripts बनाता हूँ.
  • uv और inline script metadata खोजने के बाद से Python का और ज़्यादा उपयोग करने लगा हूँ.
  • चूँकि ~/bin path में है, इसलिए command line से scripts को सीधे चलाना चाहता हूँ.
  • इसके लिए निम्न shebang का उपयोग करता हूँ: #!/usr/bin/env -S uv run --script
  • अब command line uv run --script चलाती है और file को argument के रूप में पास करती है.
  • uv shebang को नज़रअंदाज़ करता है और बाकी file को सामान्य Python file की तरह चलाता है.
  • chmod a+x {filename} कमांड से script को execute permission देने के बाद, Python में लिखी एक सरल command-line script इस्तेमाल की जा सकती है. यह script dependencies को अपने-आप संभालती है.

1 टिप्पणियां

 
GN⁺ 2025-01-29
Hacker News राय
  • env -S विकल्प का उपयोग करके shebang लाइन में कई arguments पास किए जा सकते हैं

    • यह Linux में shebang लाइन के जरिए केवल एक ही argument पास किए जा सकने की आम धारणा को तोड़ता है
    • env -S arguments को अलग-अलग विभाजित करके चलाने में उपयोगी है
  • uv का उपयोग करके Python CLI टूल इंस्टॉल करने के तरीके को बेहतर बनाया गया है

    • curl | sh स्क्रिप्ट का उपयोग करके इसे आसानी से इंस्टॉल किया जा सकता है
    • PyPI पर uv को dependency के रूप में रखने वाला एक छोटा इंस्टॉलेशन पैकेज बनाकर CLI टूल इंस्टॉल किया जाता है
    • Python virtual environment को मैनेज किए बिना इसे अलग-थलग environment में इंस्टॉल किया जा सकता है
    • जटिल dependency समस्याओं के कारण बनने वाले GitHub issues कम हो जाते हैं
  • Prolog फ़ाइलों को shell से चलाने का एक तरीका बनाया गया है

    • Prolog फ़ाइल को shell फ़ाइल के रूप में भी पहचाना जा सके, ऐसा बनाकर उसे executable किया जाता है
    • shell में पहली लाइन को comment की तरह ट्रीट किया जाता है ताकि error न हो
  • Trey Hunner के "Lazy self-installing Python scripts with uv" लेख में और अधिक उदाहरण और विवरण दिए गए हैं

  • mise का उपयोग करके छोटे कामों के लिए स्क्रिप्ट लिखी जा सकती हैं

    • uv का उपयोग करके Python स्क्रिप्ट चलाने का तरीका बताया गया है
  • uv run python का उपयोग करके Python environment मैनेज करना सुविधाजनक है

    • .venv को मैनेज किए बिना project environment में REPL चलाया जा सकता है
    • system installation समस्याओं को हल करके project/environment के भीतर सीधे चलाया जा सकता है
  • uv को command runner की तरह इस्तेमाल करते समय कुछ सावधानियाँ हैं, लेकिन ज़्यादातर मामलों में यह समय बचाने में मदद करता है

    • .py फ़ाइल को सीधे चलाते समय path समस्या हल करने के लिए एक विकल्प मौजूद है
  • TypeScript उपयोगकर्ता Deno का उपयोग करके इसी तरह का काम कर सकते हैं

    • deno run का उपयोग करके permission flags जोड़े जा सकते हैं
  • Nix package manager का उपयोग करके अलग-अलग भाषाओं और dependencies को मैनेज किया जा सकता है

    • एक single file के रूप में portable scripts लिखी जा सकती हैं