В Python много пакетов. В зависимости от задачи, мне приходится ставить один или несколько. Однако, для каких-то пакетов может понадобиться поставить конкретную версию других. Использовать одну установку Python для всех задач — неправильно, будут лишние пакеты. Да и при контейнеризации приложения, хотелось бы указать только необходимые для работы конкретного скрипта пакеты. Виртуальные окружения используются как раз для этого.
Эта заметка о том, как создаются виртуальные окружения и как можно автоматизировать их создание, чтобы не вводить каждый раз одни и те же команды.
Создаём виртуальное окружение
Можно легко выяснить, где находятся бинарники установленного в систему Python. Допустим, Python у меня стоит в папке:
C:\Users\user\AppData\Local\Programs\Python\Python312\
А на моем рабочем столе есть папка в которой, в подпапках у меня лежат все виртуальные окружения:
C:\Users\user\Desktop\PythonVenv
И я не добавлял папку Python в Path при его установке. Поэтому, чтобы создать виртуальное окружение с произвольным именем, например ‘ApacheSuper’, я открываю терминал и выполняю такие две команды:
cd C:\Users\user\AppData\Local\Programs\Python\Python312\
python.exe -m venv C:\Users\user\Desktop\PythonVenv\ApacheSuper
Почему-то у меня на домашнем компьютере падает PyCharm. И дома я работаю больше в Jupiter Notebook. Теперь, можно это созданное окружение активировать и поставить jupiter notebook:
C:\Users\user\Desktop\PythonVenv\ApacheSuper\Scripts\activate.bat
pip install notebook
После этого, у меня в папке
C:\Users\user\Desktop\PythonVenv\ApacheSuper\Scripts
есть отдельная копия Python, pip и даже установленный jupiter notebook. Кстати, последний запускается так:
jupyter notebook
Он запустится в браузере. Можно открыть в любом браузере, но ссылка должна быть с токеном. Но это уже другая тема.
Виртуальное окружение — Автоматизация
И однажды мне надоело вот это вот — постоянно вводить команды. Решил написать скрипт. Более того, имеется необходимость работать с контролем версий в Git. Он тоже установлен на моем компьютере в папке:
C:\Program Files\Git\bin\
И мне хотелось бы инициировать новый репозиторий вместе с созданием виртуального окружения и включить в .gitignore некоторые папки и файлы.
Ах да и ещё pip чтобы обновлялся. Итоговый bat файл прикрепил ниже. Он хранится в папке:
C:\Users\user\Desktop\PythonVenv
И запускается двойным щелчком. В начале работы просит ввести имя виртуального окружения. Результат работы на снимке экрана:
Имя: CreateVenv-1.7z
Размер: 802 байтов
CRC32: EC3EB1EF