4

快速提问。

有没有办法确保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 中使用 pip 和 virtualenv --distribute myenv 安装了 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.

所以也许它取决于系统。

谢谢!

4

1 回答 1

0

刚刚尝试pip并正确解决numpy了依赖项检查matplotlib-pip首先构建了 numpy。尝试使用 ubuntu 10.10 的旧股票点。

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

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

于 2012-11-08T16:08:00.910 回答