Чи можу я змусити pip перевстановити поточну версію?


507

Я стикався з ситуаціями, коли поточна версія пакету, здається, не працює і вимагає перевстановлення. Але pip install -Uне торкатиметься вже оновленого пакету. Я бачу, як змусити перевстановлення спочатку видалити (з pip uninstall), а потім встановити, але чи є спосіб просто змусити "оновити" номінально поточну версію за один крок?


для тих, хто хоче перевстановити програму pip сам (якщо вона перестала працювати з якоїсь причини;)), відповідь можна знайти в цьому SO q & a
nsof

Відповіді:


744
pip install --upgrade --force-reinstall <package>

Під час оновлення перевстановіть усі пакунки, навіть якщо вони вже оновлені.

pip install -I <package>
pip install --ignore-installed <package>

Ігноруйте встановлені пакети (замість цього перевстановлення).


1
Будь-який спосіб змусити перезаписати під час використання --target = flag? жоден із них не працював на мене. Я розумію, що шлях до пункту призначення вже існує помилка.
radtek

@KeeganQuinn, ти вважаєш, що Каран мав на увазі "Під час модернізації" ...? Я теж так думаю. Але ваше уточнення, безумовно, допомагає мені.
Червоний горох

Що робити, якщо я хочу внести зміни в zipline, що встановлюється в процесі pip install pipeline-live, і просто вибрати свою зміну в zipline?
gseattle

У тому числі, --upgradeколи --force-reinstallвикористовується, не потрібно з pip 10.0, FYI: github.com/pypa/pip/isissue/1139
cjerdonek

1
@mrgloom using cachedСправедливий означає, що він використовує вихідні файли, які зберігаються в кешеній системі під час останньої установки. Для примусового повторного завантаження використовуйте --no-cache-dirпрапор.
lcnittl

181

Можливо, ви хочете мати всі три варіанти: --upgradeі --force-reinstallзабезпечує перевстановлення, --no-depsуникаючи перевстановлення залежностей.

$ sudo pip install --upgrade --no-deps --force-reinstall <packagename>

В іншому випадку ви можете зіткнутися з проблемою, що піп починає перекомпілювати Numpy або інші великі пакети.


1
Це також працює для встановлення офлайн, тоді як виняток не відповідає.
інструбхен

4
Це краще рішення для пакетів з великою кількістю залежностей, які не потрібно перевстановлювати.
Асіль Ксіксі

1
sudoв моєму випадку було вирішальним.
мрглоом

1
Навіщо нам це потрібно, --upgradeколи ми використовуємо --force-reinstall?
mrgloom

@ FinnÅrupNielsen, чому слід оновити поточну версію? наскільки я розумію, тут ми хочемо перевстановити пакет. Що робити, якщо <package-name>==<package-version>використовується формат?
mrgloom

33

Якщо ви хочете перевстановити пакети, вказані у файлі вимог.txt, без оновлення, то просто перевстановіть конкретні версії, вказані у файлі вимог.txt:

pip install -r requirements.txt --ignore-installed

29
--force-reinstall

не здається змусити перевстановити за допомогою python2.7 з pip-1.5

Мені довелося користуватися

--no-deps --ignore-installed

20
Ви повинні вказати --upgradeдодатково --force-reinstall, або це не матиме жодного ефекту.
Кіган Куінн

6

Якщо у вас є текстовий файл із завантаженням пакетів, вам потрібно додати прапор -r

pip install --upgrade --no-deps --force-reinstall -r requirements.txt

5

У випадку, якщо вам потрібно змусити перевстановити файл pip , ви можете:

python -m pip install --upgrade --force-reinstall pip

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.