При работе Пипа с requirements.txt
файлом, который имеет фиксированные версии, мы получим следующее сообщение об ошибке (или аналогичных):Использование Pip, как мне заставить обновить не обновленные пакеты?
VersionConflict: (solrpy 0.9.1
(.../lib/python2.6/site-packages/solrpy-0.9.1-py2.6.egg),
Requirement.parse('solrpy==0.9.3'))
потому что версия конфликты. Использование pip install -U -r requirements.txt
исправляет это, но это также заставляет нас загружать все пакеты снова. Одна из приятных вещей о Пипе заключается в том, что он будет знать, что установлено, а не повторно загружать/устанавливать.
Есть ли способ обойти это? Я предполагаю, что я хочу, это «мягкое обновление», где он только обновляет пакеты, если они конфликтуют.
Да, -U в настоящее время повторно загружает все установленные пакеты. Это ошибка, и она должна быть исправлена. В несвязанной заметке, если вы видите ошибку VersionConflict, она указывает, что вы используете версию пипса, которая составляет не менее полугода. Это древнее в терминах; Я настоятельно рекомендую не использовать пакеты ОС для pip, но получить самую последнюю версию напрямую из PyPI. –
Спасибо Карлу, это полезно. Стоит ли добавлять +1 к отчету об ошибке, упомянутому ниже? –