
Belajar Python 9
Virtual Environment
oleh: Suryo Adhy Chandra, ST
Virtual environment adalah ruang kerja khusus untuk sebuah project Python. Dengan virtual environment, paket yang dipakai satu project tidak bercampur dengan project lain.
Misalkan kamu mengerjakan dua proyek. Proyek pertama dibuat setahun lalu dan hanya cocok dengan Django versi lama, sedangkan proyek kedua baru dimulai dan butuh Django versi terbaru. Jika semua paket dipasang ke satu tempat bersama, kedua proyek akan bertabrakan: memasang versi baru membuat proyek lama rusak, dan sebaliknya. Virtual environment menyelesaikan masalah ini dengan memberi setiap proyek "kamar" Python sendiri yang terpisah, lengkap dengan paket dan versinya masing-masing.
Selain mencegah tabrakan versi, virtual environment menjaga Python bawaan sistem tetap bersih. Ini penting, karena di banyak distro Linux, Python sistem dipakai oleh alat-alat lain dan sebaiknya tidak sembarangan diubah. Di bab ini kamu akan memahami cara membuktikan bahwa lingkungan sudah aktif, aturan membagikan proyek tanpa membawa folder lingkungan, serta mengatasi pesan kesalahan yang paling sering dijumpai pemula.
1. Kenapa perlu virtual environment?
- Agar paket antar project tidak bercampur.
- Agar versi library lebih mudah dikontrol.
- Agar project mudah dipindahkan ke komputer lain.
- Agar folder kerja lebih rapi dan aman.
2. Membuat virtual environment
Masuk ke folder project, lalu jalankan perintah berikut:
Perintah ini membuat folder bernama .venv yang berisi ruang kerja Python khusus untuk project tersebut.
3. Mengaktifkan virtual environment
Cara mengaktifkan virtual environment berbeda sesuai sistem operasi.
Jika berhasil aktif, biasanya nama (.venv) muncul di awal baris terminal.
4. Install paket setelah virtual environment aktif
Setelah aktif, paket yang di-install dengan PIP akan masuk ke virtual environment project tersebut.
5. Menonaktifkan virtual environment
Jika sudah selesai bekerja, kita bisa keluar dari virtual environment dengan perintah:
6. Alur kerja sederhana
7. Membuktikan bahwa lingkungan sudah aktif
Selain tulisan (.venv) di awal baris terminal, kamu bisa memeriksa Python mana yang sedang dipakai. Pada Linux atau macOS, perintah which menunjukkan lokasinya; pada Windows gunakan where.
Ketika lingkungan aktif, lokasi yang muncul berada di dalam folder proyekmu, berakhiran .venv/bin/python (Linux dan macOS) atau .venv\Scripts\python.exe (Windows). Jika lokasinya masih /usr/bin/python, berarti lingkungan belum aktif dan paket yang kamu pasang akan masuk ke Python sistem.
8. Apa isi folder .venv?
Folder .venv berisi salinan ringan penerjemah Python, program pip, dan folder lib tempat semua paket proyek disimpan. Di dalam file pyvenv.cfg tercatat versi Python yang dipakai dan lokasi Python induknya. Karena isinya bisa memakan puluhan sampai ratusan megabita dan terikat pada komputer tempat ia dibuat, folder ini tidak boleh disalin atau diunggah bersama proyek.
9. Membagikan proyek dengan benar
Yang dibagikan adalah kode proyek beserta file requirements.txt, bukan folder .venv. Jika proyekmu disimpan dengan Git, tambahkan satu baris berikut ke file .gitignore supaya folder lingkungan tidak ikut terunggah.
Teman yang menerima proyekmu cukup membuat lingkungan baru lalu memasang paket dari daftar tersebut. Alurnya adalah sebagai berikut.
Dengan tiga baris ini, ia mendapatkan lingkungan yang sama persis dengan milikmu. Itulah alasan kita selalu mencatat paket ke requirements.txt sebelum membagikan proyek.
10. Menghapus dan membuat ulang lingkungan
Kalau lingkungan terlanjur berantakan, solusinya sederhana: matikan dulu dengan deactivate, hapus foldernya, lalu buat ulang. Karena semua paket tercatat di requirements.txt, tidak ada yang hilang. Di Linux atau macOS, folder dihapus dengan rm -r .venv; di Windows cukup hapus foldernya lewat File Explorer.
11. Kesalahan yang sering terjadi
python3 -m venv .venv bisa menghasilkan pesan The virtual environment was not created successfully because ensurepip is not available. Pasang dulu dengan sudo apt install python3-venv, lalu ulangi pembuatan lingkungan.error: externally-managed-environment. Pesan ini sebenarnya melindungi sistemmu. Solusinya adalah membuat dan mengaktifkan virtual environment, bukan memaksa pemasangan..venv\Scripts\activate ditolak karena kebijakan eksekusi skrip, gunakan Command Prompt biasa, atau ubah kebijakan untuk pengguna saat ini dengan Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.source .venv/bin/activate memakai alamat relatif. Jika kamu tidak berada di folder proyek, muncul No such file or directory. Pindah dulu ke folder proyek dengan cd.12. Ringkasan
- Virtual environment memisahkan paket dan versi tiap proyek, sekaligus menjaga Python sistem tetap bersih.
- Buat dengan
python -m venv .venv, aktifkan sebelum bekerja, dandeactivatesaat selesai. - Pastikan aktif dengan melihat tulisan
(.venv)atau menjalankanwhich pythonatauwhere python. - Jangan membagikan folder
.venv; bagikanrequirements.txtdan masukkan.venv/ke.gitignore.
13. Latihan
- Tuliskan tiga perintah untuk membuat folder proyek
toko, masuk ke dalamnya, dan membuat virtual environment bernama.venv.Lihat jawaban
mkdir toko cd toko python -m venv .venvGunakanpython3bila di komputermu perintahpythontidak dikenali. - Kamu membuka terminal baru dan tidak ada tulisan
(.venv)di awal baris. Apa yang harus dilakukan sebelum memasang paket?Lihat jawaban
Masuk ke folder proyek lalu aktifkan lingkungan:source .venv/bin/activate(Linux atau macOS) atau.venv\Scripts\activate(Windows). Tulisan(.venv)akan muncul setelah berhasil. - Apa yang perlu ditulis di file
.gitignoresupaya folder lingkungan tidak ikut terunggah ke Git?Lihat jawaban
.venv/Satu baris ini sudah cukup. - Sahabatmu menerima proyekmu tanpa folder
.venv. Tuliskan langkah-langkah agar proyek itu bisa berjalan di komputernya.Lihat jawaban
python -m venv .venv source .venv/bin/activate pip install -r requirements.txtSetelah itu, program bisa dijalankan seperti biasa di dalam lingkungan yang aktif.