Pipenv – это инструмент для управления зависимостями Python-проектов, который объединяет в себе функциональность утилит pip и virtualenv. Он обеспечивает простой и стабильный способ создания виртуальных сред Python и установки пакетов с указанными версиями.
В этом полном руководстве мы рассмотрим все этапы настройки Pipenv для вашего проекта. Мы подробно расскажем о процессе установки, создания виртуальной среды и управления зависимостями. Вы также узнаете, как использовать файлы Pipfile и Pipfile.lock для фиксации версий пакетов и обеспечения воспроизводимости среды разработки.
Вам не понадобятся глубокие знания Python или утилит командной строки, чтобы использовать Pipenv. Мы покажем вам шаг за шагом, как работать с ним, чтобы вы могли легко и быстро начать использовать его для своих проектов. Готовы начать? Тогда давайте начнем установку Pipenv и настройку вашего первого проекта!
Установка pipenv и создание виртуальной среды
Чтобы установить pipenv, вам нужно выполнить следующую команду:
$ pip install pipenv
После установки вам доступны следующие команды:
pipenv --python <версия>
- создать виртуальную среду с указанной версией Python;pipenv install <пакет>
- установить пакет;pipenv install --dev <пакет>
- установить пакет в качестве зависимости разработки;pipenv uninstall <пакет>
- удалить пакет;pipenv lock
- создать или обновить файл Pipfile.lock;pipenv shell
- активировать виртуальную среду;pipenv run <команда>
- выполнить команду внутри виртуальной среды.
Чтобы создать виртуальную среду для вашего проекта, выполните следующую команду в корневой папке проекта:
$ pipenv --python 3.8
После выполнения этой команды будет создана виртуальная среда с указанной версией Python. Вам также будет доступен файл Pipfile, в котором будут перечислены все зависимости вашего проекта.
Теперь вы можете устанавливать пакеты в вашу виртуальную среду с помощью команды pipenv install
. Например:
$ pipenv install requests
После установки пакета вы можете импортировать его в своем коде и использовать его функциональность.
Все зависимости вашего проекта будут храниться в файле Pipfile и будут установлены виртуальной средой при выполнении команды pipenv install
.
Добавление зависимостей в Pipfile
Помимо простых зависимостей, вы также можете добавлять различные варианты зависимостей в Pipfile. Например, можно указать минимальную и максимальную версии пакета или даже указать ссылку на Git-репозиторий с пакетом. Вот несколько примеров:
requests = "==2.25.1"
- установит конкретную версию пакетаnumpy >=1.15, <1.20
- установит пакет с версией от 1.15 до 1.19django_url = { git = "https://github.com/django/django.git", ref = "stable/3.2.x" }
- установит пакет Django с указанного Git-репозитория и с определенной ветки
После добавления зависимостей в Pipfile, вам необходимо запустить команду pipenv install
без аргументов для установки всех зависимостей.
Кроме того, вы можете добавить список зависимостей для разработки, которые необходимы только при разработке вашего проекта. Для этого используйте команду pipenv install --dev package_name
. Эта команда установит пакет и автоматически добавит его в раздел [dev-packages] вашего Pipfile.
При использовании pipenv рекомендуется добавлять зависимости непосредственно в Pipfile, а не в файл requirements.txt. Это позволяет упростить управление зависимостями и создавать воспроизводимое окружение для вашего проекта.
Установка зависимостей из Pipfile
Pipenv предоставляет удобный способ установки зависимостей для вашего проекта, опираясь на информацию, содержащуюся в файле Pipfile. Чтобы установить все зависимости, просто выполните команду:
$ pipenv install
Эта команда автоматически установит все зависимости, указанные в файле Pipfile, в виртуальной среде, созданной с помощью pipenv.
Если необходимо установить только зависимости для разработки, можно использовать команду:
$ pipenv install --dev
Эта команда установит только те зависимости, которые отмечены как "development" в файле Pipfile.
При установке зависимостей pipenv также создает файл Pipfile.lock, который содержит точные версии всех установленных пакетов и их зависимостей. Это гарантирует, что при повторной установке зависимостей будут использоваться те же версии.
Чтобы обновить все зависимости до последних версий, можно выполнить команду:
$ pipenv update
Эта команда обновит все зависимости до их последних стабильных версий, в соответствии с ограничениями, указанными в файле Pipfile.
Важно: Проверьте, что находитесь в директории вашего проекта перед выполнением этих команд. Иначе pipenv не сможет найти файл Pipfile и выполнение команд будет невозможно.
Работа с окружением и запуск проекта
После того, как вы успешно настроили окружение с помощью pipenv, вам необходимо запустить ваш проект и начать работать. В данном разделе мы рассмотрим основные команды, которые позволят вам управлять вашим окружением и запустить проект.
Команда pipenv shell
позволяет активировать виртуальное окружение, созданное с помощью pipenv. После активации вы будете работать в изолированном окружении, что позволяет избежать конфликтов с другими пакетами или версиями Python. После активации вы увидите приглашение командной строки изменится, указывая, что вы находитесь внутри виртуального окружения.
Теперь вы можете использовать команду pipenv run
для запуска исполняемых файлов вашего проекта. Например, чтобы запустить файл main.py
, вы можете выполнить следующую команду: pipenv run python main.py
. Это обеспечит выполнение вашего скрипта внутри виртуального окружения, используя правильную версию Python и установленные пакеты.
Кроме того, вы можете использовать команду pipenv run
для запуска команд внутри вашего виртуального окружения. Например, если вы хотите установить новые пакеты внутри вашего проекта, вы можете выполнить команду pipenv run pip install package_name
.
Если вы хотите выйти из виртуального окружения, вы можете использовать команду exit
или просто закрыть терминал, в котором запущено окружение. После этого вы будете работать вне виртуального окружения и сможете использовать свою системную версию Python и установленные пакеты.
В этом разделе мы рассмотрели основные команды для работы с окружением и запуска проекта с использованием pipenv. Это поможет вам управлять вашим окружением, избегать конфликтов и эффективно разрабатывать ваш проект. В следующих разделах мы рассмотрим более продвинутые возможности и настройки pipenv, которые помогут вам оптимизировать ваш рабочий процесс.