Переустановить силу в pip
У меня есть файл require.txt, в котором у меня есть ссылки на git +. Я хотел бы всегда переустанавливать их по какой-то причине, даже если я внесу изменения и увеличу версию и перенесу ее в репозиторий github, pip говорит, что требования уже выполнены и не устанавливается.
Вот часть моего файла require.txt:-
Django==1.10
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg
Я не хочу переустанавливать все в файле needs.txt. Только мерзавец + требования.
Я попробовал это:-
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg --install-option="--upgrade --ignore-installed --force-reinstall"
Но ни один из вышеперечисленных вариантов не сработал.
4 ответа
Разработчики Pip заявили в 2017 году , что они не хотят, чтобы вы могли принудительно переустановить в файле requirements.txt, хотя я не думаю, что они объяснили, почему.
Проблема в том, что вы не советовали pip
какая версия у вас в git:
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg
Для URL VCS pip
не смотрит в репозиторий, чтобы узнать версию, он только смотрит на URL:
git+https://github.com/myaccount/myrepo.git@master#egg=some_egg-version
пример:
git+https://github.com/myaccount/myrepo.git@master#egg=package-1.0.8
Когда вы загружаете новую версию в Github, обновляйте свой requirements.txt
с новой версией (версиями) и запустите pip install -r requirements.txt -U
,
Вероятно, один из вариантов - установить пакет в редактируемом режиме, например
Django==1.10
-e git+https://github.com/myaccount/myrepo.git@master#egg=some_egg
Я использую это:
pip install -r requirements.txt
И вы можете использовать некоторые вещи, такие как:
pip install -r requirements.txt --no-index --find-links
--no-index
- Игнорировать индекс пакета (вместо просмотра только URL --find-links).
-f
, --find-links <URL>
- если URL или путь к html файлу, то разбирать ссылки на архивы