Как создать виртуальную среду Python
Если вы похожи на меня и у вас есть десятки различных проектов Python, управление правильными пакетами, библиотеками и версиями и их поддержка могут стать настоящей проблемой. Зависимости одного проекта могут отличаться от другого, или определенные версии библиотек могут не подходить для конкретной кодовой базы. Использование виртуальных сред — отличный способ организовать ваши проекты и отделить их друг от друга. Они используются по разным причинам: от изоляции зависимостей вашего проекта до обеспечения согласованности версий пакетов и создания отдельных сред для подготовки и производства.
В этом руководстве мы будем создавать виртуальную среду для простого проекта Python. Мы будем использовать модуль venv
, который включен в Python 3.6 и выше. Если вы используете более раннюю версию Python, можно использовать модуль virtualenv
.
Давайте начнем!
Установка venv
venv
должен быть установлен по умолчанию с Python 3.6 или выше, но если он не установлен, вы можете сделать это с помощью команды:
pip install venv
Создание виртуальной среды
После установки вы можете создать виртуальную среду с помощью команды:
python -m venv env_name
Здесь env_name
имя папки виртуальной среды — это может быть любое имя, которое вы хотите. После запуска этой команды вы увидите, что папка создана env_name
.
Этот каталог содержит все необходимые файлы и папки для запуска вашей виртуальной среды. Самый важный файл — это файл env.py
, содержащий конфигурацию вашей виртуальной среды. Внутри папки env_name
вы также найдете копию интерпретатора Python, а также исполняемые файлы pip и setuptools.
Активация виртуальной среды
Следующим шагом будет активация виртуальной среды. В зависимости от вашей ОС и используемого интерфейса командной строки имена каталогов могут немного отличаться. Чтобы активировать виртуальную среду в Linux, выполните следующую команду:
source env_name/bin/activate
Если вы используете Windows CMD, вам нужно будет изменить команду на:
source env_name/Scripts/activate
Как только виртуальная среда активна, вы сможете увидеть имя над командной строкой или проверив переменную среды VIRTUAL_ENV
с помощью:
echo $VIRTUAL_ENV
Теперь, когда виртуальная среда активна, вы можете свободно устанавливать библиотеки и пакеты. Если вы хотите увидеть, какие версии установлены в данный момент, вы можете запустить:
pip freeze
Этот список распечатываемых библиотек и версий специфичен для этой виртуальной среды. Преимущество заключается в том, что вы можете использовать разные версии для проекта без необходимости менять версию пакета для каждой другой версии, что может вызвать проблемы.
Вы также можете деактивировать виртуальную среду после завершения, просто запустив deactivate
из любого места в каталоге.
Выводы
Виртуальные среды — это важные инструменты для изоляции зависимостей вашего проекта друг от друга. Имея отдельные установки пакетов и двоичных файлов, каждый проект стоит сам по себе, и вы избежите поломки одного проекта обновлениями из другого.