是否可以在pypy(3.8)下安装scipy(1.8.0)?

eivnm1vs  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(277)

我只是尝试在pypy(版本3.8)下安装包scipy==1.8.0。

pip install scipy==1.8.0

首先,scipy安装过程失败,出现以下警告和错误:

Building wheels for collected packages: scipy
  Building wheel for scipy (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for scipy (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [1198 lines of output]

WARN: Could not locate executable armflang
WARN: Could not locate executable gfortran
WARN: Could not locate executable f95
WARN: Could not locate executable ifort
WARN: Could not locate executable ifc
WARN: Could not locate executable lf95
WARN: Could not locate executable pgfortran
WARN: Could not locate executable nvfortran
WARN: Could not locate executable f90
WARN: Could not locate executable f77
WARN: Could not locate executable fort
WARN: Could not locate executable efort
WARN: Could not locate executable efc
WARN: Could not locate executable g77
WARN: Could not locate executable g95
WARN: Could not locate executable pathf95
WARN: Could not locate executable nagfor
WARN: Could not locate executable frt
WARN: don't know how to compile Fortran code on platform 'posix'

error: library mach has Fortran sources but no Fortran compiler found

其次,我使用以下代码安装了gfortan:

sudo apt-get install gfortran

然后scipy安装过程失败,并出现以下错误:

compilation terminated.
  INFO: gcc: scipy/special/cephes/beta.c
  In file included from scipy/special/cephes/bdtr.c:149:
  scipy/special/cephes/mconf.h:56:10: fatal error: Python.h: No such file or directory
   #include <Python.h>
            ^~~~~~~~~~
  compilation terminated.
  INFO: gcc: scipy/special/cephes/btdtr.c
  INFO: gcc: scipy/special/cephes/cbrt.c
  INFO: gcc: scipy/special/cephes/chbevl.c
  In file included from scipy/special/cephes/beta.c:49:
  scipy/special/cephes/mconf.h:56:10: fatal error: Python.h: No such file or directory
   #include <Python.h>
            ^~~~~~~~~~
  compilation terminated.
  In file included from scipy/special/cephes/besselpoly.c:1:
  scipy/special/cephes/mconf.h:56:10: fatal error: Python.h: No such file or directory
   #include <Python.h>
            ^~~~~~~~~~
  compilation terminated.
  INFO: gcc: scipy/special/cephes/chdtr.c
  In file included from scipy/special/cephes/btdtr.c:53:
  scipy/special/cephes/mconf.h:56:10: fatal error: Python.h: No such file or directory
   #include <Python.h>
            ^~~~~~~~~~
  compilation terminated.
  INFO: gcc: scipy/special/cephes/const.c
  INFO: gcc: scipy/special/cephes/dawsn.c
  In file included from scipy/special/cephes/chbevl.c:60:
  scipy/special/cephes/mconf.h:56:10: fatal error: Python.h: No such file or directory
   #include <Python.h>

ERROR: Failed building wheel for scipy
Failed to build scipy
ERROR: Could not build wheels for scipy, which is required to install pyproject.toml-based projects

我也试探着:

  • 升级pip、setuptools和wheel
  • 一些其他版本的scipy(1.9.0、、1.7.0、1.6.0)。

我想知道是否有解决这个问题的方法,以及Scipy是否与Pypy兼容。

lpwwtiir

lpwwtiir1#

我强烈推荐使用conda-forge提供的预编译二进制文件。编译scipy不是一件小事。也许有一天pip install --only-binary :all:会支持PyPy,请参见this issue

oxalkeyp

oxalkeyp2#

感谢您的回复。
我只是按照这些步骤操作,问题就解决了。

sudo apt install libblas3 liblapack3 liblapack-dev libblas-dev

sudo apt install gfortran

pip install --extra-index-url https://antocuni.github.io/pypy-wheels/manylinux2010 scipy==1.8.0

相关问题