我觉得必须有一种方法可以做到这一 pip ,但对于我的一生,我无法弄清楚如何:我想针对 virtualenv 中的需求文件运行 pip,这样无论虚拟环境中有什么包在运行pip之前的virtualenv,运行之后完全满足要求文件(包括特定版本)。
现在的问题是,如果我在 virtualenv 中安装的软件包版本比需求文件中列出的版本旧,它会提示版本不匹配并退出(它应该只更新包到给定的版本)。我正在运行的命令是 pip install -I -rrequirements.txt ,根据 pip 的帮助,-I 应该使 pip “忽略已安装的软件包(重新安装)”,但它绝对不是不这样做。
我错过了什么?
(如果 pip 也跳过已经完成的包就好了。)
最佳答案
我弄清楚了我的 pip 问题的原因是什么。长话短说,virtualenv 的构建目录中遗留的源代码导致了一个错误,导致软件包升级失败。我实际上应该做的是在运行 pip install 之前清除该目录(我猜 pip 并不总是这样做),并且在与 --upgrade/-U 标志配对后它似乎会执行我想要的所有操作。
关于python - 如何让 pip install -I 标志与需求文件一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420706/