Belajar Python 9
Virtual Environment

oleh: Suryo Adhy Chandra, ST

Ilustrasi virtual environment Python

Virtual environment adalah ruang kerja khusus untuk sebuah project Python. Dengan virtual environment, paket yang dipakai satu project tidak bercampur dengan project lain.

Bayangkan setiap project punya tas sendiri. Paket untuk project website disimpan di tas website, paket untuk project game disimpan di tas game.

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?

2. Membuat virtual environment

Masuk ke folder project, lalu jalankan perintah berikut:

python -m venv .venv

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.

# Windows .venv\Scripts\activate # Linux atau macOS source .venv/bin/activate

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.

pip install django pip list

5. Menonaktifkan virtual environment

Jika sudah selesai bekerja, kita bisa keluar dari virtual environment dengan perintah:

deactivate

6. Alur kerja sederhana

mkdir latihan_python cd latihan_python python -m venv .venv source .venv/bin/activate pip install django pip freeze > requirements.txt deactivate
Kesimpulan: virtual environment membuat project Python lebih rapi karena setiap project memiliki paket dan versi library sendiri.

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.

# Linux atau macOS which python # Windows where python

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.

.venv/

Teman yang menerima proyekmu cukup membuat lingkungan baru lalu memasang paket dari daftar tersebut. Alurnya adalah sebagai berikut.

python -m venv .venv source .venv/bin/activate pip install -r requirements.txt

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.

deactivate rm -r .venv python -m venv .venv source .venv/bin/activate pip install -r requirements.txt

11. Kesalahan yang sering terjadi

Paket python3-venv belum terpasang (Debian dan Ubuntu). Menjalankan 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.
Lupa mengaktifkan lingkungan. Pada Linux modern, memasang paket dengan pip ke Python sistem menghasilkan error: externally-managed-environment. Pesan ini sebenarnya melindungi sistemmu. Solusinya adalah membuat dan mengaktifkan virtual environment, bukan memaksa pemasangan.
Skrip aktivasi diblokir di Windows PowerShell. Jika .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.
Menjalankan perintah activate dari folder yang salah. Perintah 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.
Memindahkan folder proyek. Lingkungan yang dibuat di satu lokasi sering gagal bekerja setelah foldernya dipindah atau diganti namanya. Hapus dan buat ulang saja, seperti langkah pada bagian sebelumnya.

12. Ringkasan

13. Latihan

  1. 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 .venv
    Gunakan python3 bila di komputermu perintah python tidak dikenali.
  2. Kamu membuka terminal baru dan tidak ada tulisan (.venv) di awal baris. Apa yang harus dilakukan sebelum memasang paket?
    Lihat jawabanMasuk ke folder proyek lalu aktifkan lingkungan: source .venv/bin/activate (Linux atau macOS) atau .venv\Scripts\activate (Windows). Tulisan (.venv) akan muncul setelah berhasil.
  3. Apa yang perlu ditulis di file .gitignore supaya folder lingkungan tidak ikut terunggah ke Git?
    Lihat jawaban
    .venv/
    Satu baris ini sudah cukup.
  4. 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.txt
    Setelah itu, program bisa dijalankan seperti biasa di dalam lingkungan yang aktif.
← Kembali Ke Daftar Pelajaran Python #1