Pipenv — простой и эффективный способ управления зависимостями в различных проектах Python. Он позволяет создавать виртуальные окружения, избегая конфликтов версий пакетов.
Виртуальные окружения в Python
Разработчики часто работают над несколькими проектами на одном компьютере. Разные проекты могут использовать одни и те же пакеты, но требовать разных версий. Виртуальные среды позволяют устанавливать различные версии пакетов для каждого проекта изолированно, не затрагивая глобальную установку.
Pipenv: Простота и скорость
Pipenv упрощает создание и управление виртуальными окружениями Python. Он автоматически создаёт файлы Pipfile и Pipfile.lock, содержащие информацию о зависимостях и их версиях. Аналогично npm в Node.js (с файлами package.json и package-lock.json), Pipenv обеспечивает воспроизводимость среды проекта.
Создание виртуального окружения и установка Flask
Создадим проект с использованием Pipenv и установим пакет Flask.
- Создание проекта: Создадим папку (например, pipenv-demo) и внутри неё файл main.py. Создадим также скрытую папку .venv для хранения файлов виртуальной среды, чтобы избежать её случайного коммита в систему контроля версий.
- Проверка Pipenv: Проверим установку Pipenv командой pipenv —version. При отсутствии Pipenv, используйте brew install pipenv (macOS) или pip install pipenv (Windows).
- Установка Flask: Выполним команду pipenv install flask. Эта команда создаст виртуальное окружение и установит последнюю стабильную версию Flask.
- Созданные файлы: После установки Flask появятся папки bin, lib, src и файлы Pipfile, Pipfile.lock, а также другие файлы в скрытой папке .venv. VS Code автоматически обнаружит новое окружение и предложит выбрать его интерпретатор. Pipfile содержит список зависимостей, а Pipfile.lock — их точные версии.
Работа с виртуальной средой и приложением Flask
- Активация виртуальной среды: Для активации используется команда pipenv shell. В командной строке появится указание на активное окружение (pipenv-demo).
- Создание приложения Flask: В файле main.py создадим простое приложение Flask, возвращающее строку «Hello from Flask».
- Форматирование кода: VS Code может предложить установить форматировщик (например, Black). Black устанавливается с помощью pipenv и добавляется в раздел dev-packages файлов Pipfile и Pipfile.lock.
- Запуск приложения: Запустим приложение командой python main.py. Приложение будет доступно по адресу http://127.0.0.1:8080/.
Git и Pipenv
Файлы Pipfile и Pipfile.lock следует включить в систему контроля версий, а папку .venv — игнорировать (используя файл .gitignore). Это гарантирует, что другие разработчики смогут воспроизвести среду проекта, выполнив pipenv install.
Pipenv — простой и эффективный способ управления зависимостями в Python-проектах. Использование Pipfile и Pipfile.lock обеспечивает воспроизводимость среды и упрощает совместную работу. Рекомендуется использовать Pipenv для всех Python-проектов.