Доброго времени суток! В этой статье я покажу как настраивать виртуальную среду (virtual environment) в Python.
Зачем нужна виртуальная среда?
Обычно пакеты модулей для python, установленные с помощью pip хранятся в дочернем каталоге с самим Python. Виртуальная среда же позволяет установить определенные библиотеки для каждого проекта, либо же одинаковые библиотеки, но разных версий для разных проектов.
А если проект имеет зависимость от определенной библиотеки, то Python не сможет определить в чём конкретно проблема, так как это большая проблема Python, он не может различать версии в каталоге "site-packages", в котором и хранятся все библиотеки, разные версии библиотеки будут храниться в каталоге под одним и тем же названием.
Что такое виртуальная среда?
Если коротко это изолированная среда для проектов Python. В ней будет использоваться отдельный интерпретатор, а также библиотеки будут устанавливаться отдельно только для этой изолированной среды, то есть если вы установили определённую библиотеку в одной изолированной среде, то в другой она уже работать не будет.
Установка и использование виртуальной среды.
Возможно для начала использования виртуальной среды нужно будет её установить с помощью pip.
pip install virtualenv
Но если вы используете Python 3, то у вас уже должен быть установлен по умолчанию модуль venv.
Рассмотрим использование виртуальной среды на примере модуля venv.
Создадим каталог с нашим проектом
Далее используем консоль для создания виртуальной среды, я использую консоль сразу в IDE Visual Studio Code, так как для меня это удобнее, можно перейти к проекту сразу после создания виртуальной среды.
Для создания виртуальной среды используем такую команду
py -m venv [название папки виртуальной среды]
или
python3 -m venv [название папки виртуальной среды]
Обычно я использую название .venv или env
После успешного выполнения команды в каталоге создается каталог виртуальной среды
В каталоге Scripts есть скрипты для активации виртуальной среды, то что нам нужно на данном этапе, теперь будем активировать виртуальную среду с помощью этого скрипта
Наглядно видно, что виртуальная среда активирована, для деактивации применяется команда deactivate
Также для экспорта проекта можно создать файл со списком зависимостей проекта.
Для примера я установил библиотеки Flask и PyTelegramBotAPI, после этого командой pip freeze > requirements.txt экспортировал все зависимости в файл
Вот так выглядит содержимое файла
При переносе проекта например на другой ПК из этого списка мы сможем установить все зависимости при помощи pip
pip install -r requirements.txt
На этом всё, спасибо за прочтение статьи, можете подписаться на мой канал и поставить лайк статье, не болейте!