Переустановить силу в 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 файлу, то разбирать ссылки на архивы

Другие вопросы по тегам