Віртуальне середовище Python, пояснено прикладами

Віртуальне середовище можна охарактеризувати як ізольований каталог встановлення. Ця ізоляція дозволяє локалізувати встановлення залежностей вашого проекту, не змушуючи встановлювати їх загальносистемними.

Уявіть, що у вас є дві програми, App1 та App2. Обидва використовують пакет Pak, але вимагають різних версій. Якщо ви встановите Pak версії 2.3 для App1, ви не зможете запустити App2, оскільки для цього потрібна версія 3.1.

Тут віртуальне середовище стане в нагоді.

Переваги:

  • Ви можете мати кілька середовищ, з декількома наборами пакетів, без конфліктів між ними. Таким чином, одночасно можна задовольнити вимоги різних проектів.
  • Ви можете легко випустити свій проект із власними залежними модулями.

Ось два способи створення віртуального середовища Python.

Віртуаленв

virtualenv- це інструмент, який використовується для створення ізольованих середовищ Python. Він створює папку, яка містить усі необхідні виконувані файли для використання пакетів, які потрібні для проекту Python.

Ви можете встановити його за допомогою pip:

pip install virtualenv

Перевірте установку за допомогою такої команди:

virtualenv --version

Створити середовище

Для створення віртуального середовища використовуйте:

virtualenv --no-site-packages my-env

Це створює папку в поточному каталозі з назвою середовища ( my-env/). Ця папка містить каталоги для встановлення модулів та виконуваних файлів Python.

Ви також можете вказати версію Python, з якою ви хочете працювати. Просто використовуйте аргумент --python=/path/to/python/version. Наприклад python2.7:

virtualenv --python=/usr/bin/python2.7 my-env

Список середовищ

Ви можете перерахувати доступні середовища за допомогою:

lsvirtualenv

Активуйте середовище

Перш ніж почати використовувати середовище, потрібно його активувати:

source my-env/bin/activate

Це гарантує, що використовуються лише пакунки під my-env/.

Ви помітите, що назва середовища відображається ліворуч від підказки. Таким чином ви зможете побачити, яке саме активне середовище.

Встановіть пакети

Ви можете встановлювати пакети по одному або встановивши requirements.txtфайл для свого проекту.

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

Якщо ви хочете створити requirements.txtфайл із уже встановлених пакунків, виконайте таку команду:

pip freeze > requirements.txt

Файл міститиме список усіх пакетів, встановлених у поточному середовищі, та їх відповідні версії. Це допоможе вам випустити свій проект із власними залежними модулями.

Вимкніть середовище

Якщо ви закінчили працювати з віртуальним середовищем, ви можете деактивувати його за допомогою:

deactivate

Це повертає вас до системного інтерпретатора Python за замовчуванням з усіма встановленими бібліотеками.

Видалити середовище

Просто видаліть папку середовища.

Конда

Conda - це пакет, управління залежностями та управління середовищем для багатьох мов, включаючи Python.

Щоб встановити Conda, дотримуйтесь цих інструкцій.

Створити середовище

Для створення віртуального середовища використовуйте:

conda create --name my-env

Conda створить відповідну папку всередині каталогу встановлення Conda.

Ви також можете вказати, з якою версією Python ви хочете працювати:

conda create --name my-env python=3.6

Список середовищ

Ви можете перерахувати всі доступні середовища за допомогою:

conda info --envs

Активуйте середовище

Перш ніж почати використовувати середовище, потрібно його активувати:

source activate my-env

Встановіть пакети

Те саме, що і з virtualenv.

Вимкніть середовище

Якщо ви закінчили працювати з віртуальним середовищем, ви можете деактивувати його за допомогою:

source deactivate

Видаліть середовище

Якщо ви хочете видалити середовище з Conda, використовуйте:

conda remove --name my-env