Python/pipenv
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
Подробнее о командах см. по ссылке