首页 > 解决方案 > 即使存在 pip 包,如何重新安装它

问题描述

我想运行一个pip install -r requirements.txt命令;

我想一遍又一遍地运行相同的命令;

问题是这requirements.txt将包含一些可能具有相同版本但不同源代码的轮文件;

我想确保软件包将被重新安装,即从我的自定义 pip repo 中再次获取;

我知道这个话题--ignore-installed,但是和之间的区别--force-reinstall对我来说似乎不是很清楚;

例如somepack==1.1,我更改了源代码,我希望在执行时再次从我的仓库.whl中获取;pip install

我应该使用哪一个?我应该把两者都合并吗?

他们有什么区别?

该包可能具有相同的版本,例如,somepack==1.1 或者它可能在某些时候具有增量版本。例如somepack==1.2

我希望它总是(重新)安装;

编辑:这是helppip 至少在上述问题中对我来说不是很清楚

  --force-reinstall           Reinstall all packages even if they are already up-to-date.
  -I, --ignore-installed      Ignore the installed packages (reinstalling instead).

标签: pythonpip

解决方案


你要:

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

--force-reinstall将删除现有软件包,然后安装当前版本。

--ignore-installed只会用当前版本覆盖现有版本,但不会删除在更新中删除的文件,这意味着您的库安装中可能有不属于库的文件挂起。

--upgrade(在这种情况下是冗余的),仅对那些有新版本的软件包进行强制重新安装。


推荐阅读