代码之家  ›  专栏  ›  技术社区  ›  Martin Thoma

如何从pyenv安装Scipy for pypypy?

  •  0
  • Martin Thoma  · 技术社区  · 6 年前

    我在Ubuntu18.04上通过pyenv使用pypypy。如何安装此设置的scipy? Installing scipy for pypy is possible ,但也许我需要使用pyenv执行额外的步骤?

    错误

    $ echo "pypy3.6-7.3.0" > ".python-version"
    $ python --version
    Python 3.6.9 (1608da62bfc7, Dec 23 2019, 10:50:04)
    [PyPy 7.3.0 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
    
    $ python -m pip install scipy
    Collecting scipy
      Using cached scipy-1.4.1.tar.gz (24.6 MB)
      Installing build dependencies ... error
      ERROR: Command errored out with exit status 1:
    [...]
          /home/moose/.pyenv/versions/pypy3.6-7.3.0/include/detail/common.h:134:19: fatal error: cstddef: No such file or directory
           #include <cstddef>
    [...]
          SystemError: Cannot compile 'Python.h'. Perhaps you need to install pypy-dev|pypy-devel.
    

    这个 full message is on gist.github.com

    我的系统

    $ apt list --installed | grep python | grep dev
    libpython-all-dev/bionic,now 2.7.15~rc1-1 amd64 [installed,automatic]
    libpython-dev/bionic,now 2.7.15~rc1-1 amd64 [installed,automatic]
    libpython2.7-dev/bionic-updates,now 2.7.17-1~18.04 amd64 [installed,automatic]
    libpython3-dev/bionic-updates,now 3.6.7-1~18.04 amd64 [installed,automatic]
    libpython3.6-dev/bionic-updates,now 3.6.9-1~18.04 amd64 [installed,automatic]
    python-all-dev/bionic,now 2.7.15~rc1-1 amd64 [installed,automatic]
    python-dev/bionic,now 2.7.15~rc1-1 amd64 [installed]
    python2.7-dev/bionic-updates,now 2.7.17-1~18.04 amd64 [installed,automatic]
    python3-dev/bionic-updates,now 3.6.7-1~18.04 amd64 [installed]
    python3.6-dev/bionic-updates,now 3.6.9-1~18.04 amd64 [installed]
    
    $ apt list --installed | grep pypy
    pypy/bionic,now 5.10.0+dfsg-3build2 amd64 [installed,automatic]
    pypy-dev/bionic,bionic,now 5.10.0+dfsg-3build2 all [installed]
    pypy-lib/bionic,now 5.10.0+dfsg-3build2 amd64 [installed,automatic]
    
    $ apt list --installed | grep -E "blas|atlas|lapack"
    libblas-dev/bionic,now 3.7.1-4ubuntu1 amd64 [installed]
    libblas3/bionic,now 3.7.1-4ubuntu1 amd64 [installed,automatic]
    libgslcblas0/bionic,now 2.4+dfsg-6 amd64 [installed,automatic]
    liblapack-dev/bionic,now 3.7.1-4ubuntu1 amd64 [installed]
    liblapack3/bionic,now 3.7.1-4ubuntu1 amd64 [installed,automatic]
    
    0 回复  |  直到 6 年前
        1
  •  -1
  •   mattip    6 年前

    问题是缺少 cstddef ,这似乎表明您缺少g++包含库。你是安装了g++还是只安装了gcc?