Рубрики
Без рубрики

Начало работы с Pipenv

Что такое пиперв? Инструмент управления пакетами, который делает комбинированное использование PIP – Python Package … Помечено с Пипнвом, Питоном, пакетами.

Что такое пиперв?

Инструмент управления пакетами, который делает комбинированное использование

  • питье – Пакет Python Package Manager
  • virtualenv – используется для создания изолированных сред Python, чтобы вы могли легко использовать разные пакеты в разных проектах
  • PientFile – записывает версии пакета, используемые в данном проекте, чтобы вы могли легко установить их в любую другую систему, которую вы хотите. Также рассматривается как замена файлов требований Python

Таким образом, в основном с одной коротким командой Pipenv вы можете установить пакет в виртуальной среде и записывать его в файлы PipFile и Piletfile.lock. Подумайте о Pipenv в качестве следующего инструмента управления пакетами GEN, который должен сэкономить ваше время, а также предоставить вам новые блестящие утилиты.

Зачем использовать Pipenv?

  • Один инструмент, чтобы управлять им все – как указано во-вторых назад, не нужно использовать PIP и Virtualenv отдельно. Вы выиграете от всех инструментов, которые я только что упомянул, используя одну простую команду.
  • Предоставляет вам множество отличных коммунальных услуг, таких как создание графика вашего дерева зависимости, проверяя уязвимости безопасности и даже помогает вам создавать проблемы на GitHub при ударе к проблеме (больше на этом позже).

В целом, Pipenv чувствует себя как правильный способ управлять пакетами и зависимостями в ваших проектах Python.

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

Вероятно, кажется необычным иметь «почему нет» раздел в учебном посте, но я предпочитаю, чтобы вы узнаете полную правду на Пипенве, а не получение ощущения, что это Ultimate Tool Management Tool.

Pipenv не является инструментом бесплатных ошибок (например, любое другое программное обеспечение), но в моем коротком опыте с ним я столкнулся с многочисленными проблемами. Иногда это цена, которую вы должны заплатить при переходе на новые технологии, но некоторые из них скажут, что это слишком багги, чтобы использовать на этом этапе. Лично, я думаю, вы все равно должны попробовать, но не ожидайте гладкого опыта. У него также есть спорное поведение, которое вам может не понравиться. Это Выпуск Описывает, как Pipenv игнорирует выбранную пользователем оболочку и порождает SH вместо (я могу подтвердить его, как я испытываю то же самое).

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

Установите Pipenv

Этот шаг зависит от какой операционной системы, которую вы используете. Если вы используете Fedora, как я (руда Centos/Rheel), выполните следующие

sudo dnf install pipenv -y

Привет Пиронв

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

pipenv install flask

Эта короткая команда приведет к:

Создание новой виртуальной среды автоматически создавая новую PIPFile & Pipfile.lock Files Установка колбы

Довольно мило, нет?

PipFile.

После установки пакета вы заметите Pipenv создал файл под названием «PipFile» (и «Pipfile.lock»). Этот файл в основном записывает все пакеты, которые вы установлены в вашей виртуальной среде, поэтому, когда вы хотите отправить кому-то проект, или установить его в другую среду, вы можете легко сделать это, используя файл PipFile.

Давайте посмотрим, как выглядит файл Pipfile

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

[packages]

flask = "*"

[dev-packages]

[requires]

python_version = "3.7"

Первая часть, Источник , довольно стандартный и закреплен для, вероятно, большинство проектов. Он указывает источник для различных пакетов. В нашем случае pypi. Самый большой (и официальный) источник для пакетов Python.

Далее один Пакеты Раздел, который указывает пакеты, которые вы установлены в виртуальной среде. Звездочка означает, что конкретная версия не была предоставлена. Если вы установили определенную версию колбы, вы увидите там номер/версию вместо звездочки.

Последний раздел «требует», где вы можете указать, какая версия Python должна использоваться ваше приложение. В нашем случае мы можем видеть Python 3.7 при установке колбы.

Pipfile.lock.lock.lock

На первый взгляд Pipfile.lock может выглядеть похоже в его содержании в файл PipFile. Он также указывает пакеты, упомянутые в PipFile, а их версии, но одно главное отличие состоит в том, что он включает в себя загрузочные хэши.

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

Обратите внимание, что вы можете и, вероятно, должны управлять как PipFile, так и PIPFile.lock с элементом управления версиями. Точно так же, как вы управляете файлами требований.

Работа в виртуалене

До сих пор вы создали новый Vibalenv с Pipenv и установили его в него, но вы на самом деле не активировали его. Таким образом, любая команда вы выполняете (что не Pipenv) запускается за пределы VirtualenV Pipenv, созданного для вас.

Для того, чтобы переключиться на VirtualenV, созданный pipenv, запустите следующую команду

Pipenv Shell.

Это в основном появляется раковину внутри виртуалена, созданного Pipenv.

Если не хочу вызывать раковину, но просто выполнить одну или несколько определенных команд, вы можете использовать Pipenv Run И это будет запустить команду внутри создаваемого Virtualenv Pipenv.

Удаление виртуальной среды

Если вы хотите удалить свой VirtualenV, вы можете сделать это с Команда Pipenv --rm

Не беспокойтесь о файлах PipFile. Он не удалит их, что означает, что вы можете мгновенно воссоздать среду, которую вы использовали перед удалением виртуальной среды.

Установите локальные пакеты

Вы можете работать над проектом, локально на вашем компьютере и в какой-то момент вы хотите установить его в свой VirtualenV и посмотреть, как он работает. Это можно сделать с помощью следующей команды

Pipenv install –e. Это эквивалентно установлению PIP. который используется для той же цели местных проектных установок.

Обратите внимание, что он обновит ваш контент Pipfile с

 = {editable = true, path = "."}

Обновите Pipfile.Lock.

Возможно, вы внесите изменения в вашей среде, не используя Pipenv. Ведь требуется время, чтобы привыкнуть к новым инструментам. Если это произойдет, вы все равно можете обновить ваш Pipfile.lock соответственно с замком Pipenv

Это обновит ваш Pipfile.lock, чтобы отразить пакеты, используемые в вашем виртуаленеве. Если файл не существует, он будет генерировать его с нуля, что позволяет вам или кому использовать ваш проект, чтобы запускать детерминированные сборки.

Проблемы пипнов

Как я писал в начале поста, существует высокая вероятность, вы попадаете в некоторые проблемы с Pipenv во время пробуждения. К счастью, разработчики Pipenv сделали его довольно легко собирать информацию о вашей среде с флагом –suppPrt. Некоторая информация, которую она собирает:

Python Version PEP 508 Информация (Спецификация зависимости) Обратная информация Среда среды Содержание файлов Pipfile и Pipfile.lock. Вы можете затем легко скопировать вывод, которые вы получаете от Runing PipenV –support и вставьте в проблему GitHUB, которая описывает вашу проблему.

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

Больше содержания

Если вам понравился этот пост, возможно, вы хотели бы, чтобы другие сообщения, которые я публикую DevOpsbit.

Оригинал: “https://dev.to/abregman/getting-started-with-pipenv-15kl”