Numpy 可以在pypy下安装scipy吗?

Numpy 可以在pypy下安装scipy吗?,numpy,scipy,pypy,Numpy,Scipy,Pypy,我使用pypy创建了一个virtualenv,并尝试安装scipy,但安装以以下错误结束: distutils.errors.DistutilsError:安装程序脚本已退出,错误:命令"cc-O2-fPIC-Wimplicit-O2-fPIC-Wimplicit-O2-fPIC-Wimplicit-DHAVE_NPY_CONFIG_H=1-D_FILE_OFFSET_BITS=64-D_LARGEFILE_SOURCE=1-D_LARGEFILE64_SOURCE=1-DNO_ATLAS_IN

我使用pypy创建了一个virtualenv,并尝试安装scipy,但安装以以下错误结束:

distutils.errors.DistutilsError:安装程序脚本已退出,错误:命令"cc-O2-fPIC-Wimplicit-O2-fPIC-Wimplicit-O2-fPIC-Wimplicit-DHAVE_NPY_CONFIG_H=1-D_FILE_OFFSET_BITS=64-D_LARGEFILE_SOURCE=1-D_LARGEFILE64_SOURCE=1-DNO_ATLAS_INFO=1-DHAVE_CBLAS-Ibuild/src.linux-x86_64-3.2/numpy/core/src/src/private-Inumpy/core/include-ild/src-linux-nuy/nuy/core/mpy-Inumpy/core/src-Inumpy/core-Inumpy/core/src/npymath-Inumpy/core/src/umath-Inumpy/core/src/npysort-I/home/luke/Programowanie/Python/connect4/venv-pypy/include-ibild/src.linux-x86-3.2/numpy/core/src/private-Ibuild-x86-64-3.2/numpy-c numpy/core/src/multiarray/scalarapi.c-o build/temp.linux-x86_64-3.2/numpy/core/src/multiarray/scalarapi.o“失败,退出状态为1


有一个特定的,但我发现的唯一关于scipy的东西是一个旧的。从那以后有什么变化吗?

没有。scipy有与Cpyton的C API对话的部分,pypy不支持这一点


**编辑**自2018年5月起,这是不正确的,并且scipy与pypy兼容。有关详细信息,请参见@pv的答案。

否,但神奇的是,
matplotlib
碰巧与pypy一起工作,包括在和作为一个(通过wx小部件)


所以这不是不可能的。

是的,这是可能的,从开始。但是需要足够新的PyPy(>=6.0.0)和Numpy,Numpy>=1.14.3,最好在发布时Numpy>=1.15.0。安装可以通过通常的

pypy3 -mpip install numpy
pypy3 -mpip install scipy
假设已经安装了BLAS/LAPACK,那么首先应该确保能够从源代码在普通Python上安装numpy/scipy

可能没有人尝试过在Windows上使用Pypy,所以你只能靠自己了。它也可能不适用于Numpy——你需要普通的Numpy


其他答案说“不”,因为这是2018年5月之前的情况。

似乎@piv.s伟大答案中的链接不再包含需要的内容。 用于安装BLAS/LAPACK并避免安装错误,例如
NotFoundError:untubuntuFirst run上未找到LAPACK/BLAS资源

sudo apt-get install libatlas-base-dev
然后使用与pypy(而不是系统的)对应的
pip


或者piv提到的一个。就可以了。

在本文撰写时,numpy和scipy可以通过pip使用PyPy安装,但是有一个问题:如果您要在virtualenv中运行它(您可能应该这样做),请记住使用“-always copy”创建virtualenv,否则virtualenv将为“include”创建一个符号链接“dir,使其为用户只读,这将中断pybind11的安装(这是scipy的一个依赖项)。

scipy
已编译代码,就像
numpy
一样。因此,即使您有一个PyPy numpy工作(它完全兼容吗?),这并不意味着您可以在其上安装常规的
scipy
。如果未找到PyPy
scipy
,则无法添加它。但是请记住,
scipy
是一个松散连接的包的集合。呼吁捐款是为了
numpy提案
。该提案明确排除了scipy。换句话说,没有人在正式开发scipy版本。@hpaulj他们在本文后面提到了scipy:“特别是,我们不打算(…)实现其他科学库,如scipy、matplotlib或biopython”,这在scipy 1.1.0之后不再成立。见pv。评论。现在,我认为这个答案应该删除。也许你可以添加一个pypy版本,但它不起作用?从今天起,你还必须安装pybind11;但是,仍然会出现pybind错误:/usr/local/include/detail/common.h:134:19:致命错误:cstddef:没有这样的文件或目录。
pip install numpy
pip install scipy