2016-10-03 7 views
0

Файла requirements.txt для пакета разрабатываемых содержит что-то вроде:Пип игнорирует изменившееся требование

git://git.gitsomewhere.com/[email protected]#egg=MyProject 

И он устанавливает на

pip install -r requirements.txt 

, когда не было никакой предыдущей версии.

Однако при изменении хэша фиксации пип не будет обновлять зависимость (с радостью сообщая, что это требование уже выполнено).

Есть ли способ надежно сделать выборку для правильной версии, заданной хешей фиксации (и, возможно, подтвержденной версией в файле setup.py из загруженного пакета)?

pip 8.1.2, для записи.

ответ

1

Можно добавить редактируемый проект вместо установки в virtualenv, предваряя строку зависимостей с -e:

-e git://git.gitsomewhere.com/[email protected]#egg=MyProject 

Другой способ, который может быть предпочтительным при некоторых обстоятельствах, чтобы добавить (непосредственно или в какой-нибудь более удобный путь):

-e MyProject 

и обрабатывать как подмодуль Git. (Смотри также Including Git submodules on pythonpath when using virtualenv)

Еще один способ:

./MyProject 

берегитесь, предыдущие решения могут влиять на старых установках.

NB, что pip install -r requirements.txt обновит установку только если версия в setup.py изменил.

Прежде чем перейти к одному из решений, проверьте, как (и будет ли он) восстанавливаться из ранее установленных пакетов.

 Смежные вопросы

  • Нет связанных вопросов^_^