Memulai Lingkungan Virtual dengan Python

Diterbitkan: 2022-11-07

Dalam artikel ini, Anda akan mempelajari cara memulai lingkungan virtual dengan Python, baik di sistem operasi Windows maupun Linux.

Saat Anda mulai mengerjakan beberapa proyek di lingkungan pengembangan lokal, Anda akan sering mengalami masalah ketergantungan. Membuat lingkungan virtual untuk setiap proyek Anda dapat membantu Anda mengelola dependensi dan persyaratan proyek dengan lebih baik.

Untuk memanfaatkan keuntungan lingkungan virtual di Python, mari belajar membuat dan mengaktifkan lingkungan virtual.

Apa itu Lingkungan Virtual?

Lingkungan virtual adalah lingkungan yang terisolasi dan independen yang berisi kode dan dependensi proyek.

Tetapi mengapa Anda harus menggunakan lingkungan virtual?

Nah, lingkungan virtual memungkinkan Anda untuk menginstal dan menggunakan versi berbeda dari perpustakaan yang sama untuk berbagai proyek. Menggunakan lingkungan virtual juga memastikan bahwa tidak ada perubahan yang mengganggu ketika dua atau lebih proyek menggunakan versi yang berbeda. Mari kita memahami ini secara lebih rinci.

Menginstal Paket dengan Python

Pustaka standar Python dikirimkan dengan beberapa modul berguna untuk pengujian unit, berinteraksi dengan sistem operasi, bekerja dengan tanggal dan waktu, dan banyak lagi.

Namun, ketika mengerjakan proyek Python, Anda sering harus menginstal paket lain – yang dikembangkan oleh komunitas Python. Hal ini terutama berlaku untuk aplikasi seperti web scraping untuk pengumpulan data, pembelajaran mesin, dan aplikasi web.

Untuk menginstal dan mengelola paket-paket ini, Anda dapat menggunakan conda atau pip.

Setiap proyek memerlukan satu set paket khusus yang perlu Anda instal. Namun, ketika Anda menginstal semua paket di lingkungan pengembangan Anda di mesin lokal Anda, semua proyek berbagi paket yang diinstal secara global.

lokal-dev-env

Jadi mengapa ini menjadi masalah?

Nah, Anda mungkin memiliki paket N di lingkungan pengembangan Anda. Namun, proyek yang sedang Anda kerjakan saat ini mungkin hanya membutuhkan 3 di antaranya. Ketika semua proyek Anda berbagi instalasi umum, sangat sulit untuk mengidentifikasi proyek mana yang memerlukan paket yang diinstal mana – dependensi yang terkait dengan setiap proyek.

Ada batasan lain untuk pendekatan ini. Misalkan Anda memiliki proyek Django 2.2 di perpustakaan proyek Anda. Anda memutuskan untuk mulai mengerjakan proyek yang menggunakan Django 4. Jadi Anda menginstal versi terbaru Django dalam lingkungan pengembangan yang sama.

Apa yang terjadi pada instalasi yang ada?

Itu dihapus dan diganti dengan versi Django yang Anda instal. Dengan rilis stabil yang lebih baru, fitur tertentu mungkin sudah tidak digunakan lagi. Dan proyek Django Anda sebelumnya mungkin tidak bekerja seperti yang diharapkan.

versi-diff

Menyimpulkan diskusi kita sejauh ini: manajemen ketergantungan menjadi sulit ketika semua paket diinstal di lingkungan yang sama karena proyek memerlukan kumpulan pustaka mereka sendiri untuk dijalankan.

Bagaimana Lingkungan Virtual Bekerja

Sejauh ini, kita telah melihat tantangan yang terkait dengan menginstal paket di lingkungan pengembangan global (instalasi di seluruh sistem). Ini memotivasi kami untuk memahami bagaimana lingkungan virtual mengatasi keterbatasan ini.

Saat Anda membuat dan mengaktifkan lingkungan virtual untuk proyek Python Anda, Anda hanya dapat menginstal paket yang diperlukan untuk proyek saat ini.

python-virtual-lingkungan

Meninjau kembali contoh proyek Django, dengan lingkungan virtual, Anda dapat menjalankan proyek Django 2.2 dan Django 4 – tanpa konflik apa pun. Ini karena penginstalan Django bukan lagi penginstalan seluruh sistem tetapi terbatas pada lingkungan virtual dari masing-masing proyek.

Intinya: lingkungan virtual adalah lingkungan terisolasi yang berisi kode dan dependensi untuk suatu proyek.

Keuntungan Lingkungan Virtual

Keuntungan-Lingkungan-Virtual

Sekarang setelah Anda mempelajari cara kerja lingkungan virtual dengan Python, mari sebutkan keuntungan menggunakannya:

  • Lingkungan virtual menyediakan lingkungan pengembangan yang terisolasi untuk masing-masing proyek yang memungkinkan kami untuk menginstal hanya paket yang dibutuhkan oleh yang diperlukan untuk proyek tertentu.
  • Karena lingkungan virtual proyek bersifat independen dan terisolasi, proyek yang berbeda dapat menggunakan versi berbeda dari pustaka yang sama —bergantung pada persyaratannya. Dengan lingkungan virtual, Anda tidak perlu khawatir tentang izin sistem untuk menginstal pustaka dan menyiapkan lingkungan pengembangan.
  • Setelah Anda menginstal paket di lingkungan virtual, Anda dapat menangkap dependensi proyek dalam file requirements.txt. Ini memungkinkan pengembang lain untuk mereplikasi pengembangan dan lingkungan proyek, dan menginstal paket yang diperlukan menggunakan satu perintah.

Alat untuk Membuat Lingkungan Virtual

Alat-untuk-Membuat-Lingkungan-Virtual

Sejauh ini, Anda telah mempelajari cara kerja lingkungan virtual dan keuntungan menggunakannya. Mari kita jelajahi beberapa alat populer yang dapat Anda gunakan untuk membuat dan mengelola lingkungan virtual dengan Python.

#1. Virtualenv

Virtualenv adalah salah satu alat yang banyak digunakan untuk membuat dan mengelola lingkungan virtual untuk proyek Python. Sebuah subset dari fungsionalitas virtualenv tersedia dalam paket venv . Namun, paket virtualenv lebih cepat dan dapat diperluas dibandingkan dengan venv .

#2. Pipenv

Dengan pipnev, Anda memiliki fungsionalitas lingkungan virtual virtualenv dan kemampuan manajemen paket pip . Ini menggunakan mengelola pipfiles untuk mengelola dependensi proyek di dalam lingkungan virtual menggunakan.

Anda dapat mencoba pipenv langsung dari browser di taman bermain Pipenv ini.

#3. konda

Jika Anda menggunakan distribusi Anaconda dari Python untuk pengembangan, maka Anda dapat menggunakan conda untuk manajemen paket dan untuk membuat lingkungan virtual.

Untuk mempelajari lebih lanjut, lihat panduan komprehensif ini tentang mengelola lingkungan dengan conda.

#4. Puisi

Poetry adalah alat manajemen paket yang memungkinkan Anda mengelola dependensi di semua proyek Python. Untuk mulai menggunakan Poetry, Anda harus menginstal Python 3.7 atau versi yang lebih baru.

#5. Venv

Seperti yang disebutkan, venv menawarkan subset dari fungsionalitas virtualenv tetapi ia hadir dengan keuntungan bahwa ia dibangun ke dalam pustaka standar Python, mulai dari Python 3.3.

Ini sudah tersedia dengan instalasi Python—dan tidak memerlukan instalasi paket eksternal. Kami akan menggunakannya dalam tutorial ini untuk membuat dan bekerja dengan lingkungan virtual.

Cara Membuat Lingkungan Virtual Python di Ubuntu

Untuk mengikuti sisa tutorial ini, Anda harus memiliki instalasi lokal Python 3. Pastikan Anda menjalankan Python 3.5 atau versi yang lebih baru.

Bagian ini menguraikan langkah-langkah untuk membuat dan mengaktifkan lingkungan virtual di mesin Linux Ubuntu. Langkah yang sama juga dapat digunakan di distro Linux lainnya.

Untuk manajemen yang lebih mudah, mari buat direktori proyek dan cd ke dalamnya; Kami akan membuat venv di dalam direktori ini.

 $ mkdir my_project $ cd my_project

Sintaks umum untuk membuat lingkungan virtual untuk proyek Python Anda adalah python3 -m venv <venv-name-or-path> . Setelah menjalankan perintah ini, lingkungan virtual yang disebut my_env akan dibuat di direktori kerja saat ini:

 $ python3 -m venv my_env

Cara Mengaktifkan dan Menginstal Paket Di Dalam Lingkungan Virtual

Setelah Anda membuat lingkungan virtual, Anda dapat mengaktifkannya dan menginstal paket yang diperlukan di dalamnya. Untuk mengaktifkan lingkungan virtual Anda dapat menjalankan perintah berikut:

 $ source my_env/bin/activate

Setelah Anda mengaktifkan lingkungan virtual, Anda dapat menjalankan perintah pip list untuk mendapatkan daftar paket yang diinstal:

 $ pip list
gambar-3

Sejauh ini kami belum menginstal paket apa pun, jadi Anda seharusnya dapat melihat setuptools dan pip —diinstal secara default—di setiap lingkungan virtual yang dibuat.

Instalasi pip di dalam lingkungan virtual memungkinkan Anda untuk menginstal paket yang diperlukan untuk proyek tertentu; inilah mengapa Anda memiliki lingkungan pengembangan independen untuk setiap proyek.

Sekarang setelah Anda mengaktifkan lingkungan virtual, Anda dapat menginstal paket khusus proyek di dalamnya menggunakan pip. Sebagai contoh, mari kita instal permintaan Python, salah satu paket Python yang paling banyak diunduh, yang menyediakan beberapa fitur berguna untuk mengirim permintaan HTTP untuk bekerja dengan API web.

 $ pip install requests

Saat Anda menginstal perpustakaan permintaan, Anda akan melihat bahwa perpustakaan permintaan diinstal bersama dengan semua paket yang diperlukan olehnya.

install-libraries-in-python-virtual-environment
 $ pip list
lihat-perpustakaan-di-python-virtual-environment

Anda dapat menggunakan perintah pip freeze dan mengarahkan output ke file requirements.txt, seperti yang ditunjukkan:

 $ pip freeze > requirements.txt

Jika Anda memeriksa isi direktori proyek saat ini, Anda akan melihat bahwa file requirements.txt telah dibuat.

 $ ls # my_env requirements.txt

Anda dapat menonaktifkan lingkungan virtual setelah Anda mengerjakan proyek dengan menjalankan perintah berikut:

 $ deactivate

Cara Membuat Lingkungan Virtual Python di Windows

Secara umum, lingkungan Linux lebih disukai untuk pengembangan. Jika Anda menggunakan mesin Windows, Anda dapat mempertimbangkan untuk menggunakan Subsistem Windows untuk Linux (WSL) untuk menyiapkan lingkungan terminal Ubuntu untuk pengembangan lokal.

Jika Anda menggunakan mesin Windows, Anda dapat menggunakan Windows PowerShell atau Command Prompt dan membuat lingkungan virtual menggunakan perintah berikut:

 > python -m venv <path-to-venv>

Cara Mengaktifkan Lingkungan Virtual

Mengaktifkan lingkungan virtual pada mesin Windows berbeda tergantung pada apakah Anda bekerja pada prompt perintah atau Windows PowerShell.

Jika Anda berada di prompt perintah, jalankan perintah berikut untuk mengaktifkan lingkungan virtual:

 > <path-to-venv>\Scripts\activate.bat

Atau, jika Anda menggunakan Windows PowerShell, menjalankan perintah ini akan mengaktifkan lingkungan virtual:

 > <path-to-venv>\Scripts\Activate.ps1

Anda dapat menginstal semua paket yang diperlukan di dalam lingkungan virtual.

Untuk menonaktifkan lingkungan virtual, Anda dapat menjalankan perintah deactivate —baik pada prompt perintah dan Windows PowerShell.

Kesimpulan

Dalam artikel ini, kami membahas keterbatasan instalasi di seluruh sistem dan bagaimana mereka membuat manajemen ketergantungan di seluruh proyek Python menjadi sulit. Lingkungan virtual di Python menyediakan cara untuk mengelola dependensi dengan lebih baik sambil menyediakan lingkungan pengembangan yang terisolasi untuk masing-masing proyek.

Di antara alat yang banyak digunakan untuk membuat dan mengelola lingkungan virtual dengan Python, Anda telah mempelajari cara menggunakan venv – yang dibangun ke dalam pustaka standar Python untuk membuat dan mengaktifkan lingkungan virtual.

Di dalam lingkungan virtual khusus proyek, versi perpustakaan khusus untuk proyek dapat diinstal. Persyaratan ini kemudian dapat ditangkap dalam file requirements.txt, yang memungkinkan pengembang lain untuk mereplikasi lingkungan proyek dengan mudah.

Saat Anda memulai proyek Python berikutnya, pastikan untuk menggunakan lingkungan virtual untuk manajemen ketergantungan yang lebih baik. Selamat mengkode!