5 poin oleh GN⁺ 2025-03-31 | Belum ada komentar. | Bagikan ke WhatsApp
  • Cara memanfaatkan uv pada skrip Python untuk membuat skrip mandiri yang bisa langsung dijalankan tanpa instalasi dependensi
  • Ini adalah pendekatan praktis yang muncul dari situasi menggunakan skrip Python untuk pengujian API dalam proyek Go

Keterbatasan cara lama

  • Untuk menjalankan skrip Python yang memakai paket seperti httpx, IPython, dan loguru, sebelumnya harus memilih salah satu dari berikut
    • Menginstal paket langsung ke Python sistem
    • Membuat virtual environment lalu menginstal paket sebelum menjalankannya
  • Kedua cara tersebut sama-sama merepotkan, dapat memengaruhi lingkungan sistem, dan membuat penjelasan menjadi panjang saat dibagikan ke orang lain

Menjalankan skrip dengan mudah memakai uv

  • uv adalah pengelola paket Python sekaligus alat pengganti pip yang memungkinkan skrip Python dijalankan dalam lingkungan eksekusi terisolasi
  • Melalui komentar # /// script, kita bisa menuliskan informasi dependensi langsung di dalam skrip
    # /// script  
    # dependencies = ["ipython", "httpx", "loguru"]  
    # ///  
    
  • Skrip yang berisi pengaturan di atas dapat dijalankan dengan perintah berikut
    uv run jam_users.py  
    
  • uv akan otomatis membuat virtual environment sementara, menginstal paket yang dibutuhkan, lalu menjalankan skrip dalam satu alur

Membuatnya menjadi skrip yang bisa dieksekusi

  • Seperti skrip Python biasa, ini bisa dibuat dapat dieksekusi menggunakan #!/usr/bin/env python, tetapi cara ini tidak mengenali komentar script milik uv
  • Sebagai gantinya, masalah ini bisa diatasi dengan menaruh perintah uv langsung di shebang seperti berikut
    #!/usr/bin/env -S uv run --script  
    # /// script  
    # dependencies = ["ipython", "httpx", "loguru"]  
    # ///  
    
  • Dengan cara ini, setelah chmod +x, skrip dapat dijalankan langsung, dan di sistem Unix lain pun akan tetap berfungsi selama uv tersedia
    ./jam_users.py  
    

Kelebihan dan kegunaan

  • Pendekatan uv sangat berguna saat mengirimkan skrip ke orang lain
  • Paket dan lingkungan yang diperlukan akan disiapkan otomatis tanpa konfigurasi awal yang rumit
  • Tidak mencemari Python sistem maupun lingkungan global
  • Satu skrip saja sudah cukup untuk menangani eksekusi sekaligus pengelolaan dependensi

Penulis menjelaskan bahwa dulu ia pernah kesulitan karena instruksi instalasi menjadi rumit saat harus mengirimkan skrip Python ke orang lain, tetapi kini masalah itu bisa diselesaikan dengan sederhana melalui uv

  • Efektif bukan hanya untuk skrip pengujian kecil, tetapi juga untuk skrip otomasi yang dipakai dalam pekerjaan nyata

Belum ada komentar.

Belum ada komentar.