如何在Windows上为PyPy安装numpy?
我刚在Windows上安装了PyPy,发现我运行的一些模拟代码速度提高了大约10倍。我也想在使用numpy的代码上看到类似的效果。不过我不是一个经验丰富的Python程序员,发现安装说明有点难懂。有没有人知道在Windows上为PyPy安装numpy是否可行,如果可以,最简单的方法是什么?
说明里提供了两个选项。
选项一
如果你有pip(命令行假设找到的是PyPy的pip,而不是CPython的那个):
pip install git+https://bitbucket.org/pypy/numpy.git
这个选项看起来不错,但我在解压的目录结构中找不到pip。
选项二
或者,可以直接这样做:
git clone https://bitbucket.org/pypy/numpy.git
cd numpy
pypy setup.py install
我在Windows上没有git,而且我怀疑这个选项可能需要从https://bitbucket.org/pypy/numpy.git编译源代码,可能在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'>: '')的错误。可以查看,比如这个bug报告。不过我通过Microsoft Visual Studio的PTVS成功安装了pip,方法是右键点击解决方案资源管理器中的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包的安装不太熟悉,不太明白这是什么意思。我确实安装了Visual Studio 2012和C++编译器,但另一方面,这个讨论提到Python 3.3(我现在用的是2.7)似乎暗示不需要C++编译器。
编辑
这似乎和pip的安装没有关系。按照选项二的步骤:
git clone https://bitbucket.org/pypy/numpy.git
cd numpy
pypy setup.py install
我仍然收到Unable to find vcvarsall.bat的错误。不过,参考这个回答,如果你将环境变量VS90COMNTOOLS设置为正确的目录,就能找到vcvarsall.bat。在我的情况下,我有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 个回答
我觉得对于numpy来说没有什么区别:Pypy是为了加速原生的Python代码而设计的,而numpy是用C语言(还有Python)写的,可能已经被编译过以达到最快的速度。
对于第一种选择,你需要从以下链接下载 pip:
https://sites.google.com/site/pydatalog/python/pip-for-windows
下载完成后,你需要把 pip 的路径添加到环境变量 PATH 中。
最后,你可以打开命令提示符,输入以下命令:
pip install git+https://bitbucket.org/pypy/numpy.git