Избегайте ада зависимостей с помощью этого превосходного инструмента виртуального окружения
Ошибки зависимостей могут стать худшим кошмаром разработчика. Вы можете потратить много времени на обновление и понижение зависимостей в тщетной попытке решить проблемы
Pipenv – это эффективный менеджер зависимостей для проектов Python. Он устанавливает и управляет зависимостями виртуального окружения как в разработке, так и в производстве
Pipenv обрабатывает добавление и удаление пакетов зависимостей, уменьшая конфликты. Он также улучшает Pip благодаря повышенным мерам безопасности, возможностям версионирования и обновления пакетов
Почему стоит использовать Pipenv вместо Virtualenv?
Virtualenv является наиболее распространенным инструментом виртуальной среды Python, существуют и другие альтернативы. Преимущества использования Pipenv вместо этих инструментов заключаются в следующем:
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 installed
pipenv --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
Комментировать