Gak Perlu Poetry atau Pyenv Lagi, Saatnya Pindah ke uv

Gak Perlu Poetry atau Pyenv Lagi, Saatnya Pindah ke uv

By Reggi, 06 Aug 2026

Jujur saja, ekosistem packaging di Python itu dari dulu rasanya berantakan. Mau kelola versi Python harus install pyenv, buat isolasi project pakai virtualenv, pasang package pakai pip, terus kalau project mulai gede pindah lagi ke Poetry cuma buat dapet lockfile. Buat yang capek gonta-ganti CLI cuma buat setup satu project, uv Python Package Manager buatan Astral (tim di balik Ruff) datang buat membereskan kerumitan ini.

Tool ini ditulis pakai Rust. Klaim kinerjanya gak main-main: 10 sampai 100 kali lebih cepat dibanding pip biasa. Tapi alasan utama banyak developer mulai berpindah sebenarnya bukan cuma soal speed, melainkan fakta kalau uv bisa menggantikan hampir semua tool manajemen Python yang biasa dipakai sehari-hari.

Kenapa Workflow Python Tradisional Itu Menyebalkan?

Dulu, alur kerja standar buat bikin project Python baru biasanya seperti ini:

bash
# Buat venv python -m venv .venv source .venv/bin/activate # Install package pip install pandas scikit-learn streamlit pip freeze > requirements.txt

Masalahnya, begitu lupa ketik source .venv/bin/activate, package malah terinstall secara global di sistem. Di project yang lebih besar, developer biasanya pindah ke Poetry. Poetry memang bagus buat dependency management dan lockfile, tapi proses install-nya sering terasa lambat dan berat.

Belum lagi kalau butuh CLI tool terisolasi seperti black atau ruff, ujung-ujungnya mesti install pipx. Terlalu banyak perintilan tool terpisah untuk urusan yang sebenarnya saling berkaitan.

Satu Tool Buat Menggantikan Semuanya

uv menggabungkan fungsi pip, pip-tools, pipx, poetry, pyenv, sampai virtualenv ke dalam satu binary tunggal.

Berikut perbandingan singkat peran tool lama dengan fungsi serapan di uv:

Tool LamaPadanan Fungsi di uvKegunaan Utama
pip installuv pip install atau uv addInstall package dependency
virtualenv / venvuv venvMembuat environment terisolasi
poetry / ryeuv init, uv add, uv syncManajemen project & universal lockfile
pyenvuv python installManajemen versi Python di sistem
pipxuvx atau uv tool runEksekusi CLI tool tanpa install global

Workflow Baru Tanpa Perlu Manual Activate

Hal yang paling berasa bedanya sewaktu pakai uv adalah manajemen environment-nya. Saat bikin project baru, tidak ada lagi keharusan mengingat perintah activate venv.

Inisialisasi project dan tambah library cukup seperti ini:

bash
uv init project-saya cd project-saya uv add pandas scikit-learn

Begitu perintah uv add dijalankan, uv otomatis membuat .venv, mencari dependency yang kompatibel, membuat lockfile (uv.lock), lalu menginstall library tersebut.

Kalau mau mengeksekusi script:

bash
uv run main.py

Perintah uv run bakal memastikan environment dalam kondisi ter-sync dengan lockfile sebelum mengeksekusi script. Tidak ada lagi eror gara-gara lupa masuk ke virtual environment.

Urusan Install Versi Python Jadi Lebih Praktis

Dulu kalau mau coba Python versi terbaru atau ngetes kompatibilitas versi lama, kita harus setup pyenv atau download installer terpisah. Di uv, urusan ini selesai dengan perintah singkat:

bash
# Install Python versi tertentu uv python install 3.12 3.13 # Kunci project supaya pakai versi Python tertentu uv python pin 3.12

uv akan mengunduh binary Python yang dibutuhkan secara terisolasi tanpa mengganggu Python bawaan sistem operasi.

Cara Pasang uv di Komputer

Proses install uv sangat cepat karena berbentuk single binary tanpa butuh runtime Python atau Rust terpasang lebih dulu di komputer.

Untuk macOS dan Linux:

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

Untuk Windows via PowerShell:

powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Selain installer resmi, uv juga bisa dipasang lewat pip install uv jika hanya ingin memanfaatkan fitur uv pip.

Perlu Pindah Sekarang atau Nanti?

Buat project baru atau workflow harian software engineer, berpindah ke uv hampir tidak ada ruginya. Kompatibilitas dengan command pip lama tetap dipertahankan lewat sub-command uv pip, jadi proses migrasi bisa dilakukan secara bertahap.

Namun, ada beberapa kondisi di mana tool lama masih relevan. Pemula data science yang baru belajar biasanya masih lebih cocok menggunakan Conda karena ekosistem Anaconda sudah menyertakan library non-Python secara bawaan. Selain itu, kalau sering memakai AI coding assistant untuk membuat script, model AI tersebut kadang masih menghasilkan instruksi gaya lama (pip install) yang perlu disesuaikan manual.

Di luar kasus tersebut, uv berhasil merapikan alur kerja pengembangan Python jadi jauh lebih bersih dan efisien.

Referensi


🔥 Sedang Ramai Dibaca