Как установить / обновить пакет с помощью pipenv без обновления остальных пакетов - PullRequest
3 голосов
/ 09 апреля 2019

Я использую pipenv (версия 2018.11.26) для управления зависимостями в моем проекте. Иногда я хочу добавить или обновить только один пакет и не менять версии других пакетов. Как я могу этого достичь? Я пробовал оба

pipenv update --selective-upgrade requests

и

pipenv update --keep-outdated requests

но версии всех пакетов обновляются во время блокировки.

Pipfile & Pifile.lock: https://gist.github.com/jozo/d8351ed708e84c5ea0f69e82e585e5c6

Ответы [ 2 ]

3 голосов
/ 12 апреля 2019

Запуск pipenv install/uninstall/update с --keep-outdated не позволит pipenv обновить несвязанные заблокированные пакеты.(Странно, что это не стандартное поведение).

Если вы не хотите, чтобы некоторые пакеты когда-либо обновлялись автоматически, вы должны закрепить их в вашем Pipfile, например:

[packages]
django = "==2.2"
djangorestframework = "==3.9.2"
0 голосов
/ 09 апреля 2019

Если вы действительно хотите это сделать, попробуйте заморозить версию пакетов:

pipenv shell
pip install -U django-rest-framework-condition
pip freeze > requirements.txt
exit
pipenv --rm
mv Pipfile Pipfile.bak
mv Pipfile.lock Pipfile.lock.bak
pipenv shell
pipenv install
...