↓ Skip to main content

Kelola Virtual Environment Python dengan uv

·2 mins

Biasanya, menggunakan virtual environment Python selalu di awali langkah rutin seperti buat folder venv, lalu jalankan perintah source atau activate setiap kali ingin menggunakannya.

Namun dengan uv, Anda dapat dengan mudah mengelola virtual environment Python.

Install uv
#

Install uv dengan menjalankan perintah berikut

curl -LsSf https://astral.sh/uv/install.sh | sh

Setelah terinstall, buat proyek baru dengan perintah

uv init nama-proyek-saya

Perintah uv init juga secara otomatis membuat file .python-version yang mencatat versi Python yang digunakan proyek agar konsisten di setiap perangkat.

Buat Virtual Environment
#

Anda tidak diwajibkan membuatnya secara manual, karena uv akan secara otomatis membuatnya sendiri ketika Anda menjalankan perintah uv add.

Namun Anda bisa menyiapkan nya secara manual dengan perintah berikut

uv venv --python 3.12

Folder .venv akan berisi interpreter Python dan semua paket yang terpasang secara terpisah dari sistem utama

Run Code
#

Ini fitur andalan uv. Perintah uv run akan otomatis mengaktifkan lingkungan virtual sebelum menjalankan perintah apapun yang Anda berikan.

# Jalankan file skrip langsung
uv run main.py

# Jalankan modul bawaan Python
uv run -m http.server 8000

Jika environment belum ada atau paket belum lengkap, uv akan menyiapkannya terlebih dahulu sebelum menjalankan kode.

Tambah dan Kelola Paket
#

Gunakan uv add untuk memasang paket ke dalam proyek. Perintah ini sekaligus memperbarui daftar paket pyproject.toml dan kunci veri uv.lock, lalu langsung memasangnya ke lingkungan virtual

# Pasang paket untuk kebutuhan aplikasi
uv add requests pandas

# Pasang paket khusus pengembangan (seperti alat uji atau pemformat kode)
uv add --dev pytest ruff

# Hapus paket yang tidak dipakai lagi
uv remove requests

CheatSheet
#

Tujuan Perintah uv
Inisialisasi proyek baru uv init
Buat lingkungan virtual uv venv
Jalankan skrip/program uv run <nama_file/perintah>
Pasang paket baru uv add <nama_paket>
Sinkronisasi semua paket sesuai daftar uv sync

Related