662

我遇到过当前版本的软件包似乎无法正常工作并需要重新安装的情况。但pip install -U不会触及已经是最新的包。我看到了如何通过首先卸载(使用pip uninstall)然后安装来强制重新安装,但是有没有办法在一个步骤中简单地强制“更新”到名义上的当前版本?

4

7 回答 7

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

升级时,重新安装所有软件包,即使它们已经是最新的。

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

忽略已安装的软件包(而是重新安装)。

于 2013-10-23T17:59:22.483 回答
240

您可能希望拥有所有三个选项:--upgrade--force-reinstall确保重新安装,同时--no-deps避免重新安装依赖项。

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

否则你可能会遇到 pip 开始重新编译 Numpy 或其他大包的问题。

于 2014-12-02T16:34:48.433 回答
41

如果要重新安装 requirements.txt 文件中指定的软件包而不升级,那么只需重新安装 requirements.txt 文件中指定的特定版本:

pip install -r requirements.txt --ignore-installed
于 2016-11-03T06:20:18.893 回答
37
--force-reinstall

似乎不会强制使用带有 pip-1.5 的 python2.7 重新安装

我不得不使用

--no-deps --ignore-installed
于 2014-01-14T08:04:09.880 回答
15

如果您需要强制重新安装pip本身,您可以执行以下操作:

python -m pip install --upgrade --force-reinstall pip
于 2020-01-17T15:10:44.077 回答
12
sudo pip3 install --upgrade --force-reinstall --no-deps --no-cache-dir <package-name>==<package-version>

一些相关的答案:

pip 安装选项“忽略安装”和“强制重新安装”之间的区别

于 2019-08-19T12:15:16.680 回答
8

如果您有一个包含大量软件包的文本文件,则需要添加-r标志

pip install --upgrade --no-deps --force-reinstall -r requirements.txt
于 2018-11-01T16:39:52.240 回答