python - 即使存在 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
我希望它总是(重新)安装;
编辑:这是help
pip 至少在上述问题中对我来说不是很清楚
--force-reinstall Reinstall all packages even if they are already up-to-date.
-I, --ignore-installed Ignore the installed packages (reinstalling instead).
解决方案
你要:
pip install -r requirements.txt --upgrade --force-reinstall
--force-reinstall
将删除现有软件包,然后安装当前版本。
--ignore-installed
只会用当前版本覆盖现有版本,但不会删除在更新中删除的文件,这意味着您的库安装中可能有不属于库的文件挂起。
--upgrade
(在这种情况下是冗余的),仅对那些有新版本的软件包进行强制重新安装。
推荐阅读
- php - 如何让我的 PHP 文件停止将“意外的 $EOF”显示为错误?
- label - 如何删除 FedEx ZPL 标签中的空白?
- javascript - 数组函数中的 JavaScript 组合
- group-by - Redshift - 动态查找过去 7 天的明智计数
- c# - 自定义属性类型的 Automapper 规则
- django - 如何修改 settings.py 以在 Django 2.1 和 Python 3 中使用云数据存储
- python - 如何即时重启python repl?
- .net - 在 WinDbg 中使用嵌入式符号
- python - 如何调试混合 Python-C++ 库中的非确定性分段错误?
- html - 如何对齐 div 内联中的元素?