在OS X上冻结点数要求,NumPy和SciPy

时间:2010-11-11 15:14:21

标签: python numpy scipy virtualenv pip

我有一个pip需求文件,我正在使用virtualenv来自动获取我的应用程序的依赖项。

应用程序依赖于NumPy和SciPy,因此我的pip要求文件包括:

numpy==1.5.0
scipy==0.8.0

但是,在新的virtualenv中运行此pip时,安装失败并显示以下错误:

File "/Users/x/virtualenv/deploy/src/scipy/setup.py", line 58, in svn_version
    from numpy.compat import asstr
ImportError: No module named numpy.compat
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

这是因为SciPy需要在构建之前安装NumPy。因此,如果我删除SciPy然后手动添加SciPy(pip install scipy),它就可以工作。

如果pip没有以任何特定顺序安装,我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:4)

我认为你不能。 Pip和setuptools不是标准工具 - 我们试图在良好的基础上支持它们,但它很脆弱。特别是,因为scipy setup.py需要numpy才能运行,所以使用install_requires参数无法工作。

答案 1 :(得分:1)

我刚遇到了同样的问题!幸运的是,pip的最新开发版本按照需求文件中列出的顺序安装软件包。

我使用此命令更新了(它需要Mercurial,因为pip托管在Bitbucket)上:

pip install hg+https://bitbucket.org/ianb/pip