Persekitaran maya boleh digambarkan sebagai direktori pemasangan terpencil. Pengasingan ini membolehkan anda melokalisasikan pemasangan kebergantungan projek anda, tanpa memaksa anda memasangnya di seluruh sistem.
Bayangkan anda mempunyai dua aplikasi, App1 dan App2. Kedua-duanya menggunakan pakej Pak, tetapi memerlukan versi yang berbeza. Sekiranya anda memasang Pak versi 2.3 untuk App1, anda tidak dapat menjalankan App2 kerana memerlukan versi 3.1.
Di sinilah persekitaran maya sangat berguna.
Faedah:
- Anda boleh mempunyai pelbagai persekitaran, dengan pelbagai set pakej, tanpa konflik di antara mereka. Dengan cara ini, keperluan projek yang berbeza dapat dipenuhi pada masa yang sama.
- Anda boleh melepaskan projek anda dengan modul bergantung sendiri.
Berikut adalah dua cara untuk membuat persekitaran maya Python.
Virtualenv
virtualenv
adalah alat yang digunakan untuk membuat persekitaran Python yang terpencil. Ia membuat folder yang mengandungi semua yang boleh dilaksanakan untuk menggunakan pakej yang diperlukan oleh projek Python.
Anda boleh memasangnya dengan pip
:
pip install virtualenv
Sahkan pemasangan dengan arahan berikut:
virtualenv --version
Buat Persekitaran
Untuk membuat persekitaran maya gunakan:
virtualenv --no-site-packages my-env
Ini membuat folder dalam direktori semasa dengan nama persekitaran ( my-env/
). Folder ini mengandungi direktori untuk memasang modul dan Python yang boleh dilaksanakan.
Anda juga boleh menentukan versi Python yang anda mahu bekerjasama. Hanya gunakan hujah --python=/path/to/python/version
. Contohnya python2.7
:
virtualenv --python=/usr/bin/python2.7 my-env
Senaraikan Persekitaran
Anda boleh menyenaraikan persekitaran yang tersedia dengan:
lsvirtualenv
Aktifkan Persekitaran
Sebelum anda boleh mula menggunakan persekitaran, anda perlu mengaktifkannya:
source my-env/bin/activate
Ini memastikan bahawa hanya pakej di bawah my-env/
yang digunakan.
Anda akan melihat bahawa nama persekitaran ditunjukkan di sebelah kiri arahan. Dengan cara ini anda dapat melihat persekitaran aktif yang mana.
Pasang Pakej
Anda boleh memasang pakej satu persatu, atau dengan menetapkan requirements.txt
fail untuk projek anda.
pip install some-package pip install -r requirements.txt
Sekiranya anda ingin membuat requirements.txt
fail dari pakej yang sudah dipasang, jalankan arahan berikut:
pip freeze > requirements.txt
Fail akan mengandungi senarai semua pakej yang dipasang di persekitaran semasa, dan versi masing-masing. Ini akan membantu anda melepaskan projek anda dengan modul bergantung sendiri.
Nyahaktifkan Persekitaran
Sekiranya anda selesai bekerja dengan persekitaran maya, anda boleh menyahaktifkannya dengan:
deactivate
Ini membawa anda kembali ke pentafsir Python lalai sistem dengan semua perpustakaannya yang dipasang.
Padamkan Persekitaran
Cukup memadam folder persekitaran.
Conda
Conda
adalah pakej, kebergantungan dan pengurusan persekitaran untuk banyak bahasa, termasuk Python.
Untuk memasang Conda, ikuti arahan ini.
Buat Persekitaran
Untuk membuat persekitaran maya gunakan:
conda create --name my-env
Conda akan membuat folder yang sesuai di dalam direktori pemasangan Conda.
Anda juga boleh menentukan versi Python yang ingin anda bekerjasama:
conda create --name my-env python=3.6
Senaraikan Persekitaran
Anda boleh menyenaraikan semua persekitaran yang ada dengan:
conda info --envs
Aktifkan Persekitaran
Sebelum anda boleh mula menggunakan persekitaran, anda perlu mengaktifkannya:
source activate my-env
Pasang Pakej
Sama seperti dengan virtualenv
.
Nyahaktifkan Persekitaran
Sekiranya anda selesai bekerja dengan persekitaran maya, anda boleh menyahaktifkannya dengan:
source deactivate
Buang Persekitaran
Sekiranya anda ingin membuang persekitaran dari Conda gunakan:
conda remove --name my-env