Kursus Python / Membuat lingkungan virtual dan mengelola paket dengan pip
Lingkungan virtual memisahkan paket Python yang dipasang untuk satu proyek dari paket proyek lain. Jalankan pip sebagai python -m pip agar interpreter tujuan pemasangan jelas dan sama dengan interpreter yang menjalankan kode Anda.
Pahami apa yang dipisahkan oleh lingkungan virtual
Dua proyek dapat memerlukan versi berbeda dari paket yang sama. Mengubah satu instalasi bersama dapat membuat proyek lain gagal. Karena itu, buat .venv khusus untuk setiap proyek. Lingkungan virtual memisahkan lokasi pemasangan paket, tetapi bukan kotak isolasi keamanan: kode masih berjalan dengan izin pengguna Anda dan dapat mengakses berkas yang diizinkan.
| Komponen | Peran |
|---|---|
| Python | Interpreter yang menjalankan kode |
| venv | Membuat lingkungan pemasangan khusus proyek |
| pip | Memasang, memeriksa, dan menghapus paket eksternal |
| requirements.txt | Berkas teks berisi kebutuhan paket untuk pemasangan kembali |
Dokumentasi venv dari Python menjelaskan hubungan lingkungan dengan interpreter dasarnya. Dalam latihan memilih interpreter di VS Code, lokasi interpreter dan pip menjadi pemeriksaan utama; aturan yang sama berlaku di terminal biasa.
Buat lingkungan dan pilih cara menjalankannya
Gunakan Python 3.12 atau lebih baru. Buka terminal di folder proyek baru dan jalankan perintah dengan interpreter yang akan dipakai proyek tersebut. Jika python belum mengarah ke versi yang benar, pilih nama perintah atau jalur lengkap yang sudah Anda periksa. Jangan membuat ulang .venv yang sudah ada sebelum mengetahui proyek dan dependensinya.
python -m venv .venv
Untuk mengaktifkannya pada Windows PowerShell:
.\.venv\Scripts\Activate.ps1
Untuk shell yang sesuai pada macOS atau Ubuntu:
source .venv/bin/activate
Aktivasi mengubah prioritas pencarian perintah pada shell saat ini. Ia tidak memindahkan paket atau mengubah seluruh sistem. Jika PowerShell membatasi aktivasi, ikuti kebijakan organisasi atau jalankan interpreter langsung, yaitu .\.venv\Scripts\python.exe pada Windows. Pada macOS dan Ubuntu, jalurnya .venv/bin/python. Tidak perlu melonggarkan kebijakan eksekusi seluruh komputer.
Simpan kode sumber di folder proyek, di luar .venv. Jika nanti lingkungan perlu dibuat ulang, kode dan catatan dependensi tetap tersedia. Pada mesin lain, buat lingkungan baru dan pasang dependensinya daripada menyalin direktori lingkungan.
Pasang paket, catat versi, dan pasang kembali
Contoh berikut memakai pandas, pustaka untuk mengolah data berbentuk tabel. Panduan pemasangan pandas mencantumkan PyPI sebagai salah satu sumber distribusi resmi untuk pip. Periksa nama paket dan sumbernya sebelum memasang; nama distribusi yang dipasang tidak selalu sama dengan nama modul pada import.
Jalankan perintah satu per satu setelah memastikan python menunjuk ke lingkungan proyek. Jika memakai jalur interpreter langsung, ganti kata python pada setiap baris dengan jalur tersebut.
python -m pip install pandas
python -m pip show pandas
python -m pip freeze > requirements.txt
python -m pip install -r requirements.txt
Perintah pertama memasang pandas beserta dependensi yang diperlukan. pip show pandas menampilkan versi dan lokasi pemasangan; lokasi harus berada di lingkungan proyek. pip freeze menulis daftar distribusi terpasang dalam format requirements. Tanda > menulis ke berkas dan dapat menimpa berkas lama, jadi periksa atau simpan salinannya terlebih dahulu jika sudah berisi catatan yang ingin dipertahankan.
Perintah terakhir membaca daftar tersebut untuk memasang kebutuhan yang tercatat. Di lingkungan yang sama, paket dapat dilaporkan sudah terpenuhi. Untuk memeriksa pembuatan ulang secara nyata, buat lingkungan baru dengan nama lain, jalankan pip milik lingkungan baru memakai -r requirements.txt, lalu bandingkan hasil pip freeze dan lokasi paketnya.
Dokumentasi pip freeze menjelaskan bahwa keluaran ini mencatat keadaan terpasang, bukan menghitung lockfile. Daftar versi tidak menjamin hasil identik pada semua sistem operasi atau versi Python dan tidak menggantikan pemeriksaan hash berkas. Dependensi untuk platform tertentu mungkin berbeda. Simpan juga informasi versi Python dan sistem yang diperlukan proyek.
Pengalihan keluaran pada versi PowerShell berbeda dapat memakai penyandian teks yang berbeda. Jika pembacaan requirements gagal, periksa isi serta encoding berkas dan simpan sebagai UTF-8 melalui editor. Jangan langsung mengubah versi paket sebelum memastikan berkas terbaca dengan benar.
Setelah aktivasi atau perubahan lingkungan, periksa lagi kedua lokasi ini:
python -c "import sys; print(sys.executable)"
python -m pip --version
Periksa masalah sebelum memasang ulang
Gunakan pemeriksaan berikut untuk membedakan interpreter yang keliru dari dependensi yang tidak cocok:
python -c "import sys; print(sys.executable)"
python -m pip --version
python -m pip check
sys.executable harus menunjuk ke interpreter proyek dan keluaran pip harus berada di lingkungan yang sama. pip check memeriksa kecocokan dependensi paket yang terpasang. Jika cocok, ia menampilkan No broken requirements found. dan berakhir dengan status berhasil. Ini tidak membuktikan bahwa seluruh perilaku aplikasi bebas kesalahan.
Untuk ModuleNotFoundError, periksa interpreter yang benar-benar menjalankan skrip, lalu pasang paket di lingkungan tersebut. Jika pemasangan gagal karena sertifikat atau proksi, telusuri sumber kepercayaan dan konfigurasi jaringan; jangan menyembunyikan masalah dengan menonaktifkan verifikasi TLS. Pemasangan ulang global dengan hak administrator juga tidak menyelesaikan kekeliruan lingkungan.
Setelah selesai, gunakan deactivate jika sebelumnya mengaktifkan lingkungan. Untuk menghapus paket yang tidak diperlukan, gunakan python -m pip uninstall nama-paket melalui interpreter proyek yang benar dan periksa paket yang akan dihapus. Sebelum membuat ulang lingkungan, pastikan kode sumber serta requirements.txt berada di luar .venv dan dapat digunakan kembali.




