Зачем использовать Pipenv для создания среды Python?
Программирование

Зачем использовать Pipenv для создания среды Python?

Избегайте ада зависимостей с помощью этого превосходного инструмента виртуального окружения

Ошибки зависимостей могут стать худшим кошмаром разработчика. Вы можете потратить много времени на обновление и понижение зависимостей в тщетной попытке решить проблемы

Pipenv – это эффективный менеджер зависимостей для проектов Python. Он устанавливает и управляет зависимостями виртуального окружения как в разработке, так и в производстве

Pipenv обрабатывает добавление и удаление пакетов зависимостей, уменьшая конфликты. Он также улучшает Pip благодаря повышенным мерам безопасности, возможностям версионирования и обновления пакетов

Почему стоит использовать Pipenv вместо Virtualenv?

Virtualenv является наиболее распространенным инструментом виртуальной среды Python, существуют и другие альтернативы. Преимущества использования Pipenv вместо этих инструментов заключаются в следующем:

  • Вы можете устанавливать пакеты без версий. Установка без версий уменьшает конфликты при работе с различными версиями зависимостей.
  • Pipenv объединяет Pip и Virtualvenv; вы больше не используете их по отдельности.
  • Pipenv исключает файл requirements.txt.Pipenv создает Pipfile для отслеживания зависимостей и Pipfile.lock для сборки приложения.
  • Поддерживает быструю и простую настройку виртуальных сред.
  • Pipenv добавляет в Pip не только дополнительные файлы. В следующем разделе вы узнаете о некоторых дополнительных возможностях, которые делают PIpenv всеобъемлющим пакетом

    Обновление установленных пакетов

    Вы можете захотеть обновить установленные пакеты при появлении новых версий. Обновленные версии, скорее всего, будут содержать новые функции для оптимизации вашего приложения

    Чтобы узнать о новых обновлениях зависимостей, выполните следующую команду:

    pipenv update --outdated

    Если доступны новые обновления, вам может понадобиться обновить пакеты. Существует два способа обновления пакетов. Вы можете обновить все пакеты или обновить только определенные пакеты

    Чтобы обновить все пакеты, выполните следующую команду update:

    pipenv update

    Чтобы обновить только определенные пакеты, выполните код, как показано ниже:

    pipenv update <name of package> # upgrades a specified package

    Импорт пакетов из файла requirements.txt

    Pipenv импортирует содержимое файла requirements.txt, если установлен в том же проекте. Когда вы запускаете pipenv install, он импортирует и создает Pipfile

    Pipenv также позволяет импортировать файл requirements.txt. При установке необходимо указать расположение файла requirements.txt, как показано на рисунке:

    pipenv install -r path/to/requirements.txt # imports a requirements file.

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

    pipenv lock --keep-outdated

    Pipenv Улучшенные функции безопасности

    Pipfile.lock в Pipenv оптимизирует новые улучшения безопасности в Pip.Pipfile.lock генерирует хэши sha256 каждого загруженного пакета

    Pipenv гарантирует, что вы не загрузите вредоносные файлы, находясь в скомпрометированной сети

    Указание версий Python

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

    Использовать Python3

    pipenv --python 3 # Pipenv will use any version 3 installedpipenv --python 3. 8# Pipenv will use version 3. 8

    Когда вы указываете версию Python, Pipenv сканирует систему на наличие этой версии Python. Если вы не укажете, Pipenv выберет последнюю версию Python, установленную на вашей машине. Узнайте больше из официальной документации Pipenv

    Установка и использование Pipenv на практическом примере

    Далее перейдем к установке и изучению практического использования Pipenv

    1. Установите Pipenv

    Перед установкой Pipenv сначала необходимо обновить все установленные зависимости. Запустите обновления с помощью следующей команды:

    sudo apt-get update

    Затем установите Pipenv с помощью следующей команды:

    pip3 install pipenv

    Если ошибок нет, значит, установка прошла успешно. Для подтверждения установки проверьте версию Pipenv с помощью следующей команды:

    pipenv --version #output pipenv,version 2023. 8. 30

    Если вы ранее использовали Pip, Pipenv совместим с синтаксисом Pip. Например, если вы хотите установить пакет, вы можете использовать pipenv install вместо pip install

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

    Вы должны активировать виртуальную среду вашего проекта в папке проекта.Pipenv управляет зависимостями на основе каждого проекта

    В командной строке перейдите в папку проекта с помощью следующей команды

    cd myproject

    Затем откройте папку в редакторе кода. Затем установите зависимости Pipenv с помощью следующей команды:

    pipenv install requests

    Успешная установка будет выглядеть так, как показано ниже:

    Зависимости Pipenv создают виртуальную среду для проекта. В папке проекта вы заметите, что Pipenv создал Pip-файлы. Далее активируйте виртуальную среду

    3. Активировать виртуальную среду

    Вы должны активировать виртуальную среду, в которой будет работать приложение. Выполните команду pipenv shell, чтобы войти в виртуальную среду Pipenv

    pipenv shell

    Обратите внимание на изменения в командной строке после запуска оболочки pipenv. Виртуальная среда, названная по имени папки, появляется слева в скобках

    (installpipenv) sandra@sandra-Lenovo:~/MUOfiles/installpipenv$

    Ваша среда Pipenv теперь активна!

    Теперь вы можете приступить к установке нужных пакетов и зависимостей. Давайте установим библиотеку Django. Выполните следующую команду в терминале для установки Django

    pipenv install django

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

    При нажатии на Pipfile вы увидите установленную библиотеку Django без номера версии

    [[source]]url = 'https://pypi.org/simple'
    verify_ssl = true
    name = 'pypi'

    [packages]
    requests = '*'
    django = '*'

    [dev-packages]

    [requires]python_version = '3. 10'

    Вот как Pipenv будет управлять всеми вашими зависимостями

    Указание версий пакетов

    Хотя Pipenv устанавливает пакеты без версий, вы можете установить предпочтительную версию. Например, если вы хотите установить Django 4. 1. 1, вы можете сделать это следующим образом:

    pipenv install django==4. 1. 1 # installs Django 4. 1. 1

    Однако это приведет к блокировке версии; для более гибкого подхода используйте оператор ~=:

    pipenv install django~=4. 1. 1 # installs Django 4. 1. 1, 4. 1. 2 if available, but not 4. 2. 0

    Вы можете запросить любую версию, которая равна или больше определенной версии, используя >=:

    pipenv install django>=3. 1. 1 # installs Django 3. 1. 1 and greater

    Pipenv лучше всего подходит для управления пакетами

    Pipenv – это инновационный инструмент для установки и управления зависимостями проекта. Его способность работать с зависимостями без версий предотвращает конфликты между различными версиями

    Pipenv объединяет возможности Pip и Venv в одной команде.Pip-файлы заменяют файл requirements.txt, который обрабатывает зависимости в старых версиях Python. Его меры безопасности защищают ваше приложение от вредоносных загрузок

    Теперь вы можете использовать Pipenv для оптимизации и улучшения опыта разработки. С новыми обновлениями Pipenv продолжает оставаться фантастическим инструментом для управления проектами Python

    Об авторе

    Алексей Белоусов

    Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

    Комментировать

    Оставить комментарий