Python/pipenv

Материал из ALT Linux Wiki

Pipenv — еще один инструмент управления виртуальными окружениями Python, который обеспечивает совместную работу pip, python и virtualenv.

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

Установка Pipenv

Для установки Pipenv убедитесь в наличии Python:

python3 --version

И установщика пакетов Python/pip:

pip3 --version

В случае, если pip не установлен, установите его от имени обычного пользователя средствами самого Python (подробнее см. основную статью Python/pip):

python3 -m ensurepip --upgrade

В случае установки pip и других пакетов этим способом от имени обычного пользователя используется каталог для сторонних пакетов ~/.local/lib/python3/site-packages, а файлы pip, pip3 и pip3.xx помещаются в ~/.local/bin. Этот каталог отсутствует в переменной PATH, чтобы это исправить, добавьте в файл ~/.bashrc следующую строчку:

# Define user specific aliases and functions.
export PATH=$HOME/.local/bin:$PATH

После чего перезапустите терминал или выполните команду:

source ~/.bashrc

Сразу после этого обновите pip до последней версии:

pip3 install --upgrade pip

И установите pipenv:

pip3 install pipenv

Использование pipenv

Перейдите в каталог проекта, например:

cd /home/user_1/мой_проект

Запустите виртуальную среду pipenv с помощью команды (при необходимости виртуальная среда будет создана автоматически):

pipenv shell

Приглашение командной строки изменится, что указывает на работу pipenv:

(мой_проект) [user_1@host-1 мой_проект]$

Посмотреть список установленных в виртуальной среде пакетов можно командой:

pip3 list

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

pipenv install имя_пакета

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

pipenv uninstall имя_пакета

При установке и удалении пакетов в файле Pipfile создаются и удаляются соответствующие записи.

Обновить пакет в виртуальной среде:

pipenv update имя_пакета

Обновить/установить все пакеты согласно записям в файле Pipfile:

pipenv update -d

Обновить все зависимости в Pipfile.lock до последних версий на основе спецификации Pipfile:

pipenv lock

Установить зависимости из Pipfile.lock:

pipenv sync

При возникновении ошибок в работе можно попытаться очистить кэш зависимостей:

pipenv lock --clear

Для выхода из виртуальной среды:

exit

Подробнее о командах см. по ссылке