2

我觉得必须有一种方法可以做到这一点,但对于我的生活,我无法弄清楚如何:我想对 virtualenv 中的需求文件运行 pip 以便无论在我之前的 virtualenv 中有什么包运行pip,我运行后完全满足需求文件(包括特定版本)。

现在的问题是,如果我在 virtualenv 中安装的软件包版本比需求文件中列出的旧版本的软件包,它会抱怨版本不匹配并退出(它应该只是将软件包更新到给定版本)。我正在运行的命令是pip install -I -r requirements.txt根据 pip 的帮助,-我应该让 pip “忽略已安装的软件包(而不是重新安装)”,但它绝对没有这样做。

我错过了什么?

(如果 pip 也跳过了已经完成的包,那就太好了。)

4

1 回答 1

4

我弄清楚了我的点子问题的原因是什么。长话短说,virtualenv 构建目录中遗留的源代码导致了一个错误,导致包升级失败。我实际上应该做的是在运行 pip install 之前清除该目录(我猜 pip 并不总是这样做),并且在与 --upgrade/-U 标志配对后它似乎可以完成我想要的一切。

于 2010-12-13T00:28:55.783 回答