Этот блог был изначально опубликован: https://sm087.github.io/pipenv-quickstart.html.
Pipenv – это упаковочный инструмент для Python, который решает некоторые распространенные проблемы, связанные с типичным рабочим процессом, использующим PIP, VirtualenV, а также старые добрые добычие требования.
Установка
PIP3 Установить Pipenv
Установка пакета с использованием Pipenv
Pipenv Установка запросов
Если Pipenv еще не установлен для приложения, выполнение вышеуказанного создаст виртуальную среду вместе с установкой Pipenv, а также создать Pipfile
и Pipfile.lock
под каталогом приложения.
Ниже показан образец PipFile ( Toml
):
[[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] [packages] requests = "*" [requires] python_version = "3.7"
Вы можете установить пакет, который вам нужен, колба. Например, вам нужна версия 0.12.1, а не последняя версия, поэтому идут вперед и быть конкретной:
Pipenv Install.12.1
Вы также можете установить непосредственно из системы управления версиями по:
Pipenv Unlight -e.
Установка пакета на основе производства
Допустим, у вас есть несколько единиц, тесты на приложение, которое вы строете, и вы хотите использовать Pteest для их запуска. Вам не нужен Pтойцы в производстве, поэтому вы можете указать, что эта зависимость только для разработки с аргументом –dev:
Pipenv Установите Pytest –dev
Этот пакет будет добавлен авто Pipenv в PipFile под [dev-packages]
Отказ
Активируйте свою среду Pipenv
Поразуйте оболочку в виртуальной среде, чтобы выделить разработку вашего приложения, запустив:
Pipenv Shell.
Деактивировать свою среду Pipenv
Чтобы деактивировать окружающую среду, порочную, запущенную вышеуказанную команду, использую Выход
Отказ Избегайте использования Деактивировать
Как это не полностью (не чистый) выход из среды Pipenv.
(myenv)$ exit exit
Запуск скрипта
Вы можете запустить скрипт, не активируя созданную среду.
Pipenv запустить Python Scripts.py
Вы также можете запустить команду в виртуальной среде, не запуская оболочку по:
Pipenv запустить <ставить команду здесь>
Установить из требований
Вы можете установить необходимую упаковку для приложения из устаревшего виртуальной среды требования
Pipenv Установить -R Pathto/требования
Удалить пакет
Теперь, скажем, вам больше не нужен пакет. Вы можете удалить его:
Pipenv Удаление запросов
Если вы хотите уничтожить все пакеты из окружающей среды:
Pipenv Uninstall –all .all
PIP заморозить в Пипенве
Это эквивалент пипс заморозить
, дает вам список пакетов, установленных в этой среде.
Пипенв Блокировка -R.
Путь (ы) pipenv
Чтобы узнать, где находится ваша виртуальная среда:
Пипенв –веньв
Чтобы узнать, где ваш проект домой является
Пипенв –гу
Уязвимости пакета
Проверьте уязвимости безопасности в вашей среде:
Pipenv Check
Переменные среды и Pipenv
Pipenv поддерживает автоматическую загрузку систем окружающей среды, когда в каталоге проекта существует файл .env. Таким образом, когда вы Pipenv Shell открывают виртуальную среду, она загружает ваши экологические переменные из файла. Файл .env просто содержит пары ключа-значений:
SECRET_KEY=somerandomekey
14:03:47~/PycharmProjects/cloudMigrationDVApp$ pipenv run python Loading .env environment variables… Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.environ['SECRET_KEY'] 'somerandomekey' >>>
Картирование зависимостей с Pipenv (с командой графика Pipenv)
Pipenv может показать график зависимости, чтобы понять ваши зависимости верхнего уровня и их подзависимости:
График Pipenv
$ pipenv graph openpyxl==2.6.2 - et-xmlfile [required: Any, installed: 1.0.1] - jdcal [required: Any, installed: 1.4.1] requests==2.22.0 - certifi [required: >=2017.4.17, installed: 2019.3.9] - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4] - idna [required: >=2.5,<2.9, installed: 2.8] - urllib3 [required: >=1.21.1,<1.26,!=1.25.1,!=1.25.0, installed: 1.25.3]
Переключиться на другую версию Python
Учитывая ситуацию, если ваша версия Python должна быть изменена с одной версии на другой Pipenv Pipfile
Можно отредактировать, чтобы изменить версию Python в разделе:
[requires] python_version = "3.6" ## changed from 3.7 to 3.6
И затем, запустив ниже, переустановите виртуальную среду с указанной версией.
Pipenv –Python 3.6.
Удалить Pipenv полностью
Вы можете полностью удалить среду Pipenv
Pipenv –rm.
Это все еще не удалит Pipfile
и Pipfile.lock.lock.lock
, это должно быть удалено вручную (если не нужно).
Чтобы установить Pipenv с помощью PipFile на месте, запустите:
Установка Pipenv
Изменяя версию пакета установлена
Для обновления пакета PIP измените версию в файле PIP.
[Пакеты] # Изменился с 2,21 до 2,22
а затем запустить:
Установка Pipenv
Следует привести к установленной необходимой версии:
$ pipenv lock -r | Запросы на GREP .22.0
Производство готово
Как только ваше приложение будет готово к необходимым пакетам в разработке, вам необходимо заблокировать среду, чтобы убедиться, что у вас есть такая же (версия) пакетов в производстве:
Пипенв замок
Это создаст/обновит ваш Pipfile.lock
, что вам никогда не понадобится (и никогда не предназначались) редактировать вручную.
Как только вы получите свой код и Pipfile.lock
В вашей производственной среде вы должны установить последнюю успешную среду, записанную:
Pipenv Установить –ignore-pipfile
Это говорит Pipenv игнорировать PIPFile для установки и использовать то, что в PipFile.lock.
Окружающая среда
Для настройки пакетов и окружающей среды для dev
окружающая обстановка:
Pipenv Установить –dev.
От наследие виртуальн в Пипенв
Если у вас есть dev-resenting.txt или что-то подобное, вы можете добавить их в PipFile, а также:
Pipenv Установить -r dev-resenting.txt –dev
Кроме того, вы можете пойти другим путем и генерировать файлы требований из A Pipfile
Отказ
Pipenv Lock -R> Требования .txt
Pipenv Lock -R -D> dev-resents.txt
Ресурсы ссылаться
- Пять мифов о Пипенве
- Почему вы должны использовать Pyenv + Pipenv для ваших проектов Python
- Настройка pipenv в визуальном студийном коде
Оригинал: “https://dev.to/smirza/quickstart-guide-on-pipenv-python-packaging-tool-2ie4”