pypy下可以安装scipy吗?
Is it possible to install scipy under pypy?
我用 pypy 创建了一个 virtualenv 并尝试安装 scipy,但安装结束时出现以下错误:
distutils.errors.DistutilsError: Setup script exited with error: Command "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/private -Inumpy/core/include -Ibuild/src.linux-x86_64-3.2/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/luke/Programowanie/Python/connect4/venv-pypy/include -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -c numpy/core/src/multiarray/scalarapi.c -o build/temp.linux-x86_64-3.2/numpy/core/src/multiarray/scalarapi.o" failed with exit status 1
有一个具体的numpy version suited for pypy, but the only thing I found about scipy is an old call for donations。从那以后有什么改变吗?
没有。 SciPy 有与 cpython 的 C API 通信的点点滴滴,而 pypy 不支持。
编辑: 截至 2018 年 5 月,这是不正确的,scipy 是 pypy-compatible。请参阅@pv 的回答。了解详情。
不,但奇迹般地,matplotlib
恰好与 pypy 一起工作,都在 jupyter notebook and as a standalone version 中(通过 wx 小部件)。
所以并非不可能。
是的,有可能,从Scipy 1.1.0开始。然而,足够新的 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,所以你只能靠自己了。它也可能不适用于 NumPyPy --- 你需要香草 Numpy。
其他答案说 "No" 因为那是 2018 年 5 月之前的情况。
@piv.s 中的 link 好答案似乎不再包含所需的内容。
用于安装 BLAS/LAPACK 并避免安装错误,例如 NotFoundError: no lapack/blas resources found
on Ubuntu first 运行:
sudo apt-get install libatlas-base-dev
然后使用对应于你的pypy(不是系统的)的pip
:
pip install numpy
pip install scipy
或者piv提到的那个。会成功的。
在撰写本文时,numpy 和 scipy 可以通过 pip 与 PyPy 一起安装,但是有一个问题:如果您要 运行 在 virtualenv 中安装(您可能应该这样做) , 请记住使用“--always-copy”创建 virtualenv,否则 virtualenv 将为 "include" 目录创建一个符号链接,使其对用户只读,这将破坏 pybind11 的安装(这是一个scipy).
的依赖
我用 pypy 创建了一个 virtualenv 并尝试安装 scipy,但安装结束时出现以下错误:
distutils.errors.DistutilsError: Setup script exited with error: Command "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/private -Inumpy/core/include -Ibuild/src.linux-x86_64-3.2/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/home/luke/Programowanie/Python/connect4/venv-pypy/include -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -Ibuild/src.linux-x86_64-3.2/numpy/core/src/private -c numpy/core/src/multiarray/scalarapi.c -o build/temp.linux-x86_64-3.2/numpy/core/src/multiarray/scalarapi.o" failed with exit status 1
有一个具体的numpy version suited for pypy, but the only thing I found about scipy is an old call for donations。从那以后有什么改变吗?
没有。 SciPy 有与 cpython 的 C API 通信的点点滴滴,而 pypy 不支持。
编辑: 截至 2018 年 5 月,这是不正确的,scipy 是 pypy-compatible。请参阅@pv 的回答。了解详情。
不,但奇迹般地,matplotlib
恰好与 pypy 一起工作,都在 jupyter notebook and as a standalone version 中(通过 wx 小部件)。
所以并非不可能。
是的,有可能,从Scipy 1.1.0开始。然而,足够新的 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,所以你只能靠自己了。它也可能不适用于 NumPyPy --- 你需要香草 Numpy。
其他答案说 "No" 因为那是 2018 年 5 月之前的情况。
@piv.s 中的 link 好答案似乎不再包含所需的内容。
用于安装 BLAS/LAPACK 并避免安装错误,例如 NotFoundError: no lapack/blas resources found
on Ubuntu first 运行:
sudo apt-get install libatlas-base-dev
然后使用对应于你的pypy(不是系统的)的pip
:
pip install numpy
pip install scipy
或者piv提到的那个。会成功的。
在撰写本文时,numpy 和 scipy 可以通过 pip 与 PyPy 一起安装,但是有一个问题:如果您要 运行 在 virtualenv 中安装(您可能应该这样做) , 请记住使用“--always-copy”创建 virtualenv,否则 virtualenv 将为 "include" 目录创建一个符号链接,使其对用户只读,这将破坏 pybind11 的安装(这是一个scipy).
的依赖