如何在Windows上为PyPy安装numpy?

时间:2014-04-02 16:21:03

标签: python windows numpy pypy

我刚刚在Windows上安装了PyPy,并且在我运行的某些模拟代码中看到了大约10倍的速度提升。我也希望看到使用numpy的代码类似。我不是一个经验丰富的Python程序员,但我发现很难跟上instructions。有没有人知道在Windows上为PyPy安装numpy是否可行?如果是这样,最简单的方法是什么?

说明书提供了两个选项。

选项号1

  

如果你有pip(命令行假定它找到属于PyPy的pip,而不是CPython中的pip):

pip install git+https://bitbucket.org/pypy/numpy.git

这似乎是一个很好的选择,但我在解压缩的目录结构中找不到pip

选项号2

  

或者,直接的方式:

git clone https://bitbucket.org/pypy/numpy.git
cd numpy
pypy setup.py install

我在Windows上没有git,但我也怀疑这个选项可能涉及从https://bitbucket.org/pypy/numpy.git编译源代码,甚至可能不可能(或者需要大量的黑客攻击)在Windows上。

修改

根据https://sites.google.com/site/pydatalog/python/pip-for-windows通过the answer belowthis answer问题How do I install pip on Windows?中的说明安装pip,但ConnectionError: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /packages/py2.py3/p/pip/pip-1.5.4-py2.py3-none-any.whl (Caused by <class 'httplib.BadStatusLine'>: '')失败。例如,见this bug report。但是, 能够通过Microsoft Visual Studio PTVS安装pip,方法是在解决方案资源管理器中的Python环境下右键单击PyPy 2.7,然后选择安装Python包。这无法安装numpy(另一个连接错误),但安装pip。

现在我有了pip,我尝试使用pip install git+https://bitbucket.org/pypy/numpy.git在命令行上安装numpy。首先我需要安装git才能做到这一点......没问题。但随后它失败了以下

building library "npymath" sources
No module named numpy.distutils.msvccompiler in numpy.distutils; trying from distutils
error: Unable to find vcvarsall.bat

我不熟悉Python软件包的安装,我不确定这意味着什么。我安装了C ++编译器的Visual Studio 2012,但另一方面,Python 3.3(我目前使用的是2.7)似乎意味着不应该需要C ++编译器。

修改

这似乎与pip安装无关。遵循选项2

git clone https://bitbucket.org/pypy/numpy.git
cd numpy
pypy setup.py install

我仍然得到Unable to find vcvarsall.bat。但是,如果将环境变量vcvarsall.bat设置为适当的目录,则可以从this thread中获取提示,VS90COMNTOOLS。在我的情况下,我有VS2012,所以适当的行是

set VS90COMNTOOLS=%VS110COMNTOOLS%

现在可以找到编译器但是存在编译错误

_configtest.c
_configtest.c(4) : error C2061: syntax error : identifier 'npy_check_sizeof_type'
_configtest.c(4) : error C2059: syntax error : ';'
_configtest.c(7) : error C2065: 'npy_check_sizeof_type' : undeclared identifier error:

看起来这是在编译过程中生成的文件,甚至可能根本不需要构建。不过我觉得我现在可能真的被卡住了......

2 个答案:

答案 0 :(得分:1)

对于第一个选项,您应该从

下载pip
  

https://sites.google.com/site/pydatalog/python/pip-for-windows

之后你应该在环境变量PATH中添加点子的路径 最后,您应该使用命令提示符并使用

  

pip install git + https://bitbucket.org/pypy/numpy.git

答案 1 :(得分:0)

我认为numpy没有任何区别:Pypy旨在加速本机python代码,而numpy是用C语言编写的(以及python),并且可能已经编译以最大化速度。