Persekitaran Maya Python Dijelaskan dengan Contoh

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

virtualenvadalah 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.txtfail untuk projek anda.

pip install some-package pip install -r requirements.txt

Sekiranya anda ingin membuat requirements.txtfail 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