Найти в Дзене
Блог игродела

Подготовка Python проекта. Загрузка пакетов, библиотек через вертуальную среду (venv)

Оглавление

Аналогия

Если представлять программирование как стройку, то для каждой нового проекта нам нужны свои инструменты. Язык программирования и среда разработки считаются общими, а вот используемые пакетов (сгруппированный набор функций) могут отличаться. Например, для проекта с созданием чат-бота в Telegram мы будем использовать пакет с библиотекой telethon или python-telegram-bot, а в создание игры это может быть pygame. Также могут отличаться версии этих пакетов, и пакеты могут не работать со старыми версиями других пакетов, поэтому нужно как-то организовывать их между собой в рамках проекта.

Теория

Виртуальная среда (virtual environment) позволяет управлять проектами изолированно друг от друга:

  • у каждого проекта могут быть свои зависимости;
  • зависимости одного проекта не влияют на зависимости другого проекта.

Используемые инструменты

Это не обязательно, но я хочу подчеркнуть, что я использую Python версии 3.11.5 , а также среду разработки Visual Studio Code. Если вы ещё не скачали Python, то ознакомьтесь с предыдущей статьёй.

Создание проекта

Чтобы внедрять виртуальную среду создадим корневую папку проекта где-то у себя на диске. Я это буду делать через командую строку (Win + R и ввести cmd), так как всё остальное мы также будем делать через неё.

Введём следующие команды, чтобы создать папку проекта и переместиться в неё:

mkdir C:\Dev\Python\test_project
cd C:\Dev\Python\test_project

Создание виртуальной среды

Введём следующую команду, чтобы создать среду в рамках проекта. После её выполнения появится папка соответствующая названию виртуальной среды -"env" (сокращение от environment). "env" в команде это название среды, я не советую его менять, поскольку он удобно вводится и легче запоминается в будущем

py -m venv env
-2

Активация виртуальной среды

Для закачки всех необходимых пакетов нужно активировать среду.

Введём эту команду. Совет: начните писать название "en" и нажмите Tab, тогда название подставится из существующих файлов в папке. После "\" идут файлы в выбранной папке, так что там тоже можно использовать Tab.

env\Scripts\activate
-3

Теперь среда активирована и можно качать файлы. Введите следующую команду для проверки скаченных пакетов:

pip list
Список доступных пакетов
Список доступных пакетов

Скачивание пакетов

У нас нет пакетов, давайте скачаем пакет для создания бота в Telegram. Учтите, что для скачивания пакета в конкретное окружение нужно активировать его, что мы сделали в предыдущем шаге.

pip install python-telegram-bot
Успешное скачивание пакета
Успешное скачивание пакета
Вывод списка пакетов после скачивание нового пакета
Вывод списка пакетов после скачивание нового пакета

Сохранения имеющихся зависимостей

Если мы хотим поделиться списком зависимостей (отправить на другое устройство), стоит их упаковать, введя команду:

pip freeze > requirements.txt
-7

Теперь, чтобы скачать упакованные зависимости, нужно перетащить созданный файл "requirements.txt" в нужную папку и ввести команду:

pip freeze > requirements.txt
-8

Если мы выйдем из среды и запустим команду, то пакеты установятся в глобальную среду на устройстве.

Удаление пакетов

Теперь давайте удалим скаченный пакет для создания бота:

pip uninstall python-telegram-bot
Успешное удаление пакета
Успешное удаление пакета

Деактивация виртуальной среды

Когда мы закончили добавлять зависимости, стоит деактивировать среду, введя команду:

env\Scripts\deactivate.bat
-10

Послесловие

Мы научились работать с пакетами в рамках виртуальной среды. Если остались вопросы или пожелания, то делитесь ими в комментариях, они помогут улучшить статью для других читателей.

Хорошего дня!

Наука
7 млн интересуются