Что такое виртуальное окружение и зачем оно нужно
Виртуальное окружение – это изолированный контейнер, который позволяет создавать и управлять проектами с определенными версиями библиотек Python, не влияя на системную версию Python и пакеты. Это критически важно для проектов, где требуются конкретные версии библиотек для их корректной работы.
Преимущества использования виртуальных окружений
- Изоляция проектов: каждый проект может использовать свою собственную версию библиотек.
- Безопасность: минимизируются риски нежелательных конфликтов между разными библиотеками.
- Удобство развертывания: упростите переносимость и настройку проектов на новых машинах.
Инструменты, которые мы рассмотрим
В данной статье мы рассмотрим использование virtualenv и встроенного модуля Python venv для создания виртуальных окружений.
Установка необходимых инструментов
Проверка установленной версии Python
Для начала убедимся, что на вашей системе установлен Python версии 3.5.0 или новее:
python --version
Установка virtualenv или venv
На данный момент многие предпочитают использовать встроенный модуль venv. Однако, если вы хотите использовать virtualenv, вам потребуется установить его отдельно.
pip install virtualenv
Создание виртуального окружения
Пошаговая инструкция
Создать виртуальное окружение можно различными способами. Рассмотрим оба варианта — с использованием virtualenv и venv.
virtualenv -p python3.8 myenv
В данном примере myenv – это имя вашего виртуального окружения, а python3.8 указывает версию Python, которую вы хотите использовать. Если вместо virtualenv воспользоваться venv, команда будет выглядеть так:
python3.8 -m venv myenv
Выбор нужной версии Python
Для создания окружения с конкретной версией Python, просто укажите путь к нужной версии интерпретатора. Убедитесь, что нужная версия установлена на вашей системе.
Активация виртуального окружения
Инструкция по активации на разных ОС
Для работы с виртуальным окружением его необходимо активировать. В зависимости от вашей операционной системы команды будут различаться.
# Windows
myenv\Scripts\activate
# macOS/Linux
source myenv/bin/activate
Что происходит при активации
При активации виртуального окружения, ваш терминал переключается на использование локального интерпретатора Python и установленных внутри этого окружения пакетов.
Работа в виртуальном окружении
Установка пакетов
Все пакеты, установленные в активированном виртуальном окружении, будут изолированы от системного Python и других окружений.
pip install requests
Использование окружения в проектах
Просто активируйте окружение и убедитесь, что все зависимости указываются в requirements.txt вашем проекте. Это упростит развёртывание и переносимость проекта.
pip freeze > requirements.txt
Деактивация и удаление виртуального окружения
Деактивация виртуального окружения
Когда вы завершите работу, окружение нужно будет деактивировать.
deactivate
Удаление виртуального окружения
Для удаления виртуального окружения, удалите его директорию.
rm -rf myenv
Заключение
Подведение итогов
Использование виртуальных окружений является необходимым шагом для любого Python-разработчика, стремящегося к надежной и безопасной работе с проектами.
Рекомендации для дальнейшего изучения
Изучите официальную документацию, чтобы углубить свои знания и получить лучшие практики.
Поддержание порядка в проектах
Виртуальные окружения помогают избежать конфликтов и обеспечивают предсказуемое поведение кода, что особенно важно при работе над крупными проектами или при разработке в команде.