pip install -Ur与pip install -r的区别是什么?
pip install -Ur requirements.txt 与 pip install -r requirements.txt 的区别 核心差异来自 -U(即--upgrade)参数的作用,具体区别如下:
pip install -r requirements.txt的行为
这个命令会严格按照requirements文件里的版本约束来安装/维护依赖:- 如果某个依赖已经安装,且版本符合文件里的约束条件,pip会跳过它,不会进行更新;
- 只有当依赖未安装,或者已安装版本不符合约束时,才会安装/升级到满足约束的最低适配版本(或指定版本)。
pip install -Ur requirements.txt的行为
加上-U参数后,pip会强制执行升级检查:- 不管当前依赖是否符合版本约束,都会尝试把每个依赖升级到满足约束条件的最新可用版本;
- 举个实际例子:如果requirements里写的是
requests>=2.20.0,当前已安装requests 2.21.0,用-r命令不会改动,但用-Ur会直接把它升级到符合>=2.20.0的最新稳定版(比如2.31.0)。
特殊情况说明
如果requirements文件里指定了固定版本(比如requests==2.21.0),两种命令的行为完全一致——都会安装/保持这个固定版本,-U参数无法突破固定版本的约束。
内容的提问来源于stack exchange,提问作者Desert Eagle
相关产品推荐
相关产品推荐

