保持安装顺序在点冻结



快速问题。

有没有办法确保pip freeze > requirements.txt保持软件包的安装顺序?这对我来说是一个问题,因为我在requirements.txt中不断得到这样的东西:

matplotlib==1.1.1
numpy==1.6.2

因此,当我尝试使用pip install -r requirements.txt安装时会发生错误,因为 numpy 是 matplotlib 的依赖项,所以我必须首先手动安装 numpy,然后重新运行pip install -r requirements.txt

有什么解决办法吗?

更新:为了响应mechmind,我在Ubuntu 12.04中使用带有virtualenv --distributed myenv的pip安装了matplotlib和numpy。安装后,我得到了这个冻结文件:

argparse==1.2.1
distribute==0.6.28
matplotlib==1.1.1
numpy==1.6.2
wsgiref==0.1.2

然后,当我尝试在另一个虚拟环境中重新安装时,出现以下错误:

REQUIRED DEPENDENCIES
numpy: no
* You must install numpy 1.4 or later to build
* matplotlib.

所以也许这取决于系统。

谢谢!

刚刚尝试了pipnumpymatplotlib,并pip正确解决了依赖项检查 - numpy 首先构建。 在 ubuntu 10.10 的旧库存点上试用。

编辑:在玩pipvirtualenv之后,我意识到依赖关系检查实际上只有在发现依赖关系时才有效,即当安装,删除并再次安装包时。

因此,实际的解决方案将涉及在需求文件中重新排序包(对于只有两个顺序错误的包的简单情况,您可以反转需求文件:sort -r | xargs pip install

相关内容

  • 没有找到相关文章

最新更新