На днях мы опубликовали руководство для начинающих по управлению пакетами Python с помощью PIP. В этом руководстве мы обсудили, как установить pip, а также как устанавливать, обновлять и удалять пакеты Python с помощью pip. Мы также обсудили важность виртуальных сред и способы создания виртуальной среды с помощью инструментов venv и virtualvnv. Сегодня мы узнаем о другом диспетчере пакетов Python под названием pipenv. Это новый инструмент упаковки Python, рекомендованный Python.org. Его можно использовать для простой установки и управления зависимостями python без необходимости создания виртуальных сред. Pipenv автоматически создает виртуальную среду для ваших проектов и управляет ею. Он также добавляет/удаляет пакеты из вашего Pipfile при установке/удалении пакетов.
Почему Pipenv?
Pipenv решает следующие проблемы в реальном времени:
- Вам больше не нужно создавать виртуальную среду. Pipenv автоматически создаст virtualenv для ваших проектов. Проще говоря, pip и virtualenv работают вместе.
- Управление файлом requirements.txt может быть проблематичным, поэтому Pipenv вместо этого использует готовящиеся к релизу Pipfile и Pipfile.lock, что лучше для базовых сценариев использования.
- Он безопасен. Хэши используются везде и всегда. Автоматически обнаруживаются уязвимости безопасности.
- Просматривайте график зависимостей в любое время.
- Оптимизируйте рабочий процесс разработки, загрузив файлы .env.
Установка Pipenv, официально рекомендованного инструмента для работы с пакетами Python
Есть много способов установить Pipenv. Мы рассмотрим два официально рекомендованных метода.
1. Установка pipenv с помощью pip
Официально рекомендуемый способ - использовать pip. Убедитесь, что у вас установлены python и pip. Если нет, обратитесь к нашему предыдущему руководству по ссылке в первом абзаце этой статьи.
После установки pip выполните следующую команду, чтобы установить pipenv.
Эта команда установит pipenv на уровне пользователя (т. е. не в масштабе всей системы). Если pipenv недоступен в вашей оболочке после его установки, вам может потребоваться добавить каталог двоичных файлов вашей пользовательской базы в ваш PATH. Если вы не знаете, какая у вас база, выполните следующую команду, чтобы узнать это:
Вы увидите результат, подобный приведенному ниже.
Как видно из вышеприведенного вывода, мой базовый каталог пользователя - /home/sk/.local, а мой базовый каталог двоичных файлов - /home/sk/.local/bin. Хорошо. Теперь добавьте это в свой PATH. Для этого отредактируйте файл ~/.profile:
Добавьте эту строку в конце:
Нажмите клавишу ESC и введите :wq, чтобы сохранить и закрыть файл. Затем выполните следующую команду, чтобы изменения вступили в силу.
Наконец, выполните следующую команду:
Чтобы обновить pipenv в любое время, выполните следующую команду:
2. Установка pipenv с помощью pipsi
Pipsi - это мощный инструмент, позволяющий устанавливать скрипты Python в изолированные виртуальные среды.
Чтобы установить pipsi, выполните:
Следуйте инструкциям на экране, вам нужно будет обновить PATH.
После установки pipsi выполните следующие команды для установки pipenv:
Наконец, выполните следующую команду:
Чтобы обновить pipenv в любое время, просто выполните:
Управление пакетами Python с помощью Pipenv
Запустите «pipenv» в своей оболочке, чтобы отобразить список доступных команд и главных опций.
Пример вывода:
Установка пакетов
Создайте новый проект или перейдите в каталог существующего проекта.
Установите пакеты для вашего проекта:
Когда вы зайдете в каталог своего проекта (в данном случае myproject), вы увидите два файла, а именно Pipfile и Pipfile.lock. Pipfile содержит информацию о недавно установленном пакете, такую как имя, версия и т. д. Вы можете использовать Pipfile, чтобы отслеживать, какие зависимости нужны вашему проекту, когда вы хотите переустановить проект или поделиться им с другими.
А Pipfile.lock содержит вашу системную информацию, все зависимости установленного пакета, включая их версию, и все хэши для всех установленных пакетов и их зависимостей.
Теперь установите другой пакет и снова проверьте содержимое двух файлов. Вы заметите, что Pidfile теперь содержит два пакета. Кроме того, Pidfile.lock содержит все зависимости установленных пакетов, включая их версию, и все хэши для всех установленных пакетов и их зависимостей. Проще говоря, эти два файла будут обновляться автоматически каждый раз, когда вы устанавливаете новый пакет.
Вы заметили? Я не создавал никаких виртуальных сред. Pipenv автоматически создал виртуальную среду для моего проекта. Хотите знать, где хранятся ваши проекты? Просто запустите эту команду, чтобы узнать местоположение вашей виртуальной среды.
Чтобы просмотреть информацию о домашней директории вашего проекта, выполните:
Как видно из вывода, «/home/sk/myproject» - это домашний каталог моего проекта, а «/home/sk/.local/share/virtualenvs/myproject-x7-2XYPN» - моя виртуальная среда.
Вы можете выполнить команду «ls» в своем виртуальном окружении, чтобы проверить, что там находится.
Обновление пакетов
Чтобы обновить все пакеты, выполните:
Эта команда удалит все пакеты и переустановит пакеты последних совместимых версий.
Проверка целостности пакета
Вы беспокоитесь о том, есть ли в установленных пакетах уязвимости безопасности? Нет проблем! Pipenv вас поддержит. Чтобы проверить целостность пакетов, просто выполните следующую команду:
Приведенная выше команда проверяет уязвимости системы безопасности по маркерам PEP 508, указанным в файле Pipfile.
Просмотр графа зависимостей
Давайте запустим «pipenv graph» и посмотрим, что произойдет.
Как видите, эта команда отображает граф зависимостей.
Удаление пакета
Чтобы удалить пакет, выполните:
Чтобы удалить все, выполните:
Среда теперь чистая и свежая!
Для получения дополнительных сведений выполните:
или,
Насколько я знаю, Pipenv намного проще в использовании, чем pip. Поскольку он официально рекомендован Python.org, теперь вы можете полностью избавиться от venv и virtualenv при установке пакетов Python.
Комментариев нет:
Отправить комментарий