Python активация виртуального окружения в Linux и Windows

Виртуальное окружение используется для изолирования всевозможных зависимостей и проектов друг от друга в своей отдельной среде, что позволяет использовать пакеты различных версий на одной машине. А также позволяет использовать сам python различных версий в одной системе без указания полных путей к нему.

Виртуальное окружение на Linux

В Linux виртуальное окружение python настраивается при помощи команд:

python3 -m venv env # создаем окружение, в текущем каталоге создается каталог env
source env/bin/activate # активируем окружение
deactivate # деактивируем окружение

Находясь в активированном окружении мы можем использовать команды python, python3, python3.X вне зависимости от глобальной установки и версии python. Т.е. если глобально в системе установлен python3.5.3 и мы создали окружение используя команду

python3.8 -m venv env

Внутри окружения все команды python, python3, python3.8 будут обрабатываться именно данной версией(как будто мы прописали им alias)

Виртуальное окружение на Windows

Работа с виртуальным окружением на Windows немного отличается от того, что используется длдя Unix-подобных систем. Чтобы создать виртуальное окружение на Windows запустите в терминале:

python3 -m venv c:\path\to\myenv

Где вместо c:\path\to\myenv укажите путь до папки с виртуальным окружением, которую вы хотите создать.

После того как скрипт отработает, вы можете активировать виртуальное окружение с помощью:

c:\path\to\myenv\Scripts\activate.bat

Чтобы деактивировать виртуальное окружение:

c:\path\to\myenv\Scripts\deactivate.bat

После активации виртуального окружения вы можете устанавливать в него дополнительные сторонние библиотеки, например:

pip install requests

Обратите внимание, что в то время как на Unix системах интерпретатор python находится в директории bin/ внутри виртуального окружения – на Windows интерпретатор будет находиться внутри директории Scripts/ созданного виртуального окружения.

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *