我刚刚在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 below或this 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:
看起来这是在编译过程中生成的文件,甚至可能根本不需要构建。不过我觉得我现在可能真的被卡住了......
答案 0 :(得分:1)
对于第一个选项,您应该从
下载piphttps://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),并且可能已经编译以最大化速度。