如何使用 pip3 安装 scipy?

如何使用 pip3 安装 scipy?

我正在尝试为 python3.x 安装 scipy,并尝试使用 pip3 安装它

sudo pip3 install scipy

但是我有以下错误:

Downloading/unpacking scipy
  Running setup.py (path:/tmp/pip_build_root/scipy/setup.py) egg_info for package scipy

    warning: no previously-included files matching '*_subr_*.f' found under directory 'scipy/linalg/src/id_dist/src'
    no previously-included directories found matching 'scipy/special/tests/data/boost'
    no previously-included directories found matching 'scipy/special/tests/data/gsl'
    no previously-included directories found matching 'doc/build'
    no previously-included directories found matching 'doc/source/generated'
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '*~' found anywhere in distribution
    warning: no previously-included files matching '*.bak' found anywhere in distribution
    warning: no previously-included files matching '*.swp' found anywhere in distribution
    warning: no previously-included files matching '*.pyo' found anywhere in distribution
Installing collected packages: scipy
  Running setup.py install for scipy
    blas_opt_info:
    blas_mkl_info:
      libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    openblas_info:
      libraries openblas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    atlas_blas_threads_info:
    Setting PTATLAS=ATLAS
      libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib/atlas-base', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    atlas_blas_info:
      libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib/atlas-base', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    blas_info:
      FOUND:
        language = f77
        library_dirs = ['/usr/lib']
        libraries = ['blas']

      FOUND:
        language = f77
        library_dirs = ['/usr/lib']
        libraries = ['blas']
        define_macros = [('NO_ATLAS_INFO', 1)]

    lapack_opt_info:
    openblas_lapack_info:
      libraries openblas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    lapack_mkl_info:
    mkl_info:
      libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

      NOT AVAILABLE

    atlas_threads_info:
    Setting PTATLAS=ATLAS
      libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib/atlas-base
      libraries lapack_atlas not found in /usr/lib/atlas-base
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_threads_info'>
      NOT AVAILABLE

    atlas_info:
      libraries f77blas,cblas,atlas not found in /usr/local/lib
      libraries lapack_atlas not found in /usr/local/lib
      libraries f77blas,cblas,atlas not found in /usr/lib/atlas-base
      libraries lapack_atlas not found in /usr/lib/atlas-base
      libraries f77blas,cblas,atlas not found in /usr/lib
      libraries lapack_atlas not found in /usr/lib
      libraries f77blas,cblas,atlas not found in /usr/lib/x86_64-linux-gnu
      libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

    lapack_info:
      libraries lapack not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']
      NOT AVAILABLE

    lapack_src_info:
      NOT AVAILABLE

    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1526: UserWarning:
        Atlas (http://math-atlas.sourceforge.net/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [atlas]) or by setting
        the ATLAS environment variable.
      warnings.warn(AtlasNotFoundError.__doc__)
    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1432: UserWarning:
        Atlas (http://math-atlas.sourceforge.net/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [atlas]) or by setting
        the ATLAS environment variable.
      warnings.warn(AtlasNotFoundError.__doc__)
    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1443: UserWarning:
        Lapack (http://www.netlib.org/lapack/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [lapack]) or by setting
        the LAPACK environment variable.
      warnings.warn(LapackNotFoundError.__doc__)
    /usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1446: UserWarning:
        Lapack (http://www.netlib.org/lapack/) sources not found.
        Directories to search for the sources can be specified in the
        numpy/distutils/site.cfg file (section [lapack_src]) or by setting
        the LAPACK_SRC environment variable.
      warnings.warn(LapackSrcNotFoundError.__doc__)
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip_build_root/scipy/setup.py", line 237, in <module>
        setup_package()
      File "/tmp/pip_build_root/scipy/setup.py", line 234, in setup_package
        setup(**metadata)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/core.py", line 135, in setup
        config = configuration()
      File "/tmp/pip_build_root/scipy/setup.py", line 173, in configuration
        config.add_subpackage('scipy')
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage
        caller_level = 2)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage
        caller_level = caller_level + 1)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy/setup.py", line 13, in configuration
        config.add_subpackage('interpolate')
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage
        caller_level = 2)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage
        caller_level = caller_level + 1)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy/interpolate/setup.py", line 11, in configuration
        lapack_opt = get_info('lapack_opt', notfound_action=2)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 356, in get_info
        return cl().get_info(notfound_action)
      File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 514, in get_info
        raise self.notfounderror(self.notfounderror.__doc__)
    numpy.distutils.system_info.LapackNotFoundError:
        Lapack (http://www.netlib.org/lapack/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [lapack]) or by setting
        the LAPACK environment variable.
    Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-w234i8a7-record/install-record.txt --single-version-externally-managed --compile:
    blas_opt_info:

blas_mkl_info:

  libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



openblas_info:

  libraries openblas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



atlas_blas_threads_info:

Setting PTATLAS=ATLAS

  libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib', '/usr/lib/atlas-base', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



atlas_blas_info:

  libraries f77blas,cblas,atlas not found in ['/usr/local/lib', '/usr/lib/atlas-base', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



blas_info:

  FOUND:

    language = f77

    library_dirs = ['/usr/lib']

    libraries = ['blas']



  FOUND:

    language = f77

    library_dirs = ['/usr/lib']

    libraries = ['blas']

    define_macros = [('NO_ATLAS_INFO', 1)]



lapack_opt_info:

openblas_lapack_info:

  libraries openblas not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



lapack_mkl_info:

mkl_info:

  libraries mkl,vml,guide not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



  NOT AVAILABLE



atlas_threads_info:

Setting PTATLAS=ATLAS

  libraries ptf77blas,ptcblas,atlas not found in /usr/local/lib

  libraries lapack_atlas not found in /usr/local/lib

  libraries ptf77blas,ptcblas,atlas not found in /usr/lib/atlas-base

  libraries lapack_atlas not found in /usr/lib/atlas-base

  libraries ptf77blas,ptcblas,atlas not found in /usr/lib

  libraries lapack_atlas not found in /usr/lib

  libraries ptf77blas,ptcblas,atlas not found in /usr/lib/x86_64-linux-gnu

  libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu

<class 'numpy.distutils.system_info.atlas_threads_info'>

  NOT AVAILABLE



atlas_info:

  libraries f77blas,cblas,atlas not found in /usr/local/lib

  libraries lapack_atlas not found in /usr/local/lib

  libraries f77blas,cblas,atlas not found in /usr/lib/atlas-base

  libraries lapack_atlas not found in /usr/lib/atlas-base

  libraries f77blas,cblas,atlas not found in /usr/lib

  libraries lapack_atlas not found in /usr/lib

  libraries f77blas,cblas,atlas not found in /usr/lib/x86_64-linux-gnu

  libraries lapack_atlas not found in /usr/lib/x86_64-linux-gnu

<class 'numpy.distutils.system_info.atlas_info'>

  NOT AVAILABLE



lapack_info:

  libraries lapack not found in ['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu']

  NOT AVAILABLE



lapack_src_info:

  NOT AVAILABLE



/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1526: UserWarning:

    Atlas (http://math-atlas.sourceforge.net/) libraries not found.

    Directories to search for the libraries can be specified in the

    numpy/distutils/site.cfg file (section [atlas]) or by setting

    the ATLAS environment variable.

  warnings.warn(AtlasNotFoundError.__doc__)

/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1432: UserWarning:

    Atlas (http://math-atlas.sourceforge.net/) libraries not found.

    Directories to search for the libraries can be specified in the

    numpy/distutils/site.cfg file (section [atlas]) or by setting

    the ATLAS environment variable.

  warnings.warn(AtlasNotFoundError.__doc__)

/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1443: UserWarning:

    Lapack (http://www.netlib.org/lapack/) libraries not found.

    Directories to search for the libraries can be specified in the

    numpy/distutils/site.cfg file (section [lapack]) or by setting

    the LAPACK environment variable.

  warnings.warn(LapackNotFoundError.__doc__)

/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py:1446: UserWarning:

    Lapack (http://www.netlib.org/lapack/) sources not found.

    Directories to search for the sources can be specified in the

    numpy/distutils/site.cfg file (section [lapack_src]) or by setting

    the LAPACK_SRC environment variable.

  warnings.warn(LapackSrcNotFoundError.__doc__)

Traceback (most recent call last):

  File "<string>", line 1, in <module>

  File "/tmp/pip_build_root/scipy/setup.py", line 237, in <module>

    setup_package()

  File "/tmp/pip_build_root/scipy/setup.py", line 234, in setup_package

    setup(**metadata)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/core.py", line 135, in setup

    config = configuration()

  File "/tmp/pip_build_root/scipy/setup.py", line 173, in configuration

    config.add_subpackage('scipy')

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage

    caller_level = 2)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage

    caller_level = caller_level + 1)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py

    config = setup_module.configuration(*args)

  File "scipy/setup.py", line 13, in configuration

    config.add_subpackage('interpolate')

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 966, in add_subpackage

    caller_level = 2)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 935, in get_subpackage

    caller_level = caller_level + 1)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/misc_util.py", line 872, in _get_configuration_from_setup_py

    config = setup_module.configuration(*args)

  File "scipy/interpolate/setup.py", line 11, in configuration

    lapack_opt = get_info('lapack_opt', notfound_action=2)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 356, in get_info

    return cl().get_info(notfound_action)

  File "/usr/local/lib/python3.4/dist-packages/numpy/distutils/system_info.py", line 514, in get_info

    raise self.notfounderror(self.notfounderror.__doc__)

numpy.distutils.system_info.LapackNotFoundError:

    Lapack (http://www.netlib.org/lapack/) libraries not found.

    Directories to search for the libraries can be specified in the

    numpy/distutils/site.cfg file (section [lapack]) or by setting

    the LAPACK environment variable.

----------------------------------------
Cleaning up...
Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-w234i8a7-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/scipy
Storing debug log for failure in /home/alvas/.pip/pip.log

我该如何安装scipypip3如果没有解决方案pip3,我还能如何安装适用于 python3.x 的 scipy?

答案1

它准确地告诉您需要做什么:安装所有这些构建依赖项。

在此之前,我之前已经说过几次,我一般不建议人们使用pip(或pip3)将包安装到全局 Python 安装中。pipapt-get完全互不相干。 文件可能会被过度覆盖或删除,而且由于您的操作系统依靠在你的 Python 环境上工作,弄乱它并不是一个好主意。

因此,我建议使用虚拟环境(将所有内容与系统分开)或仅使用存储库部署的包。

也就是说,您无法安装的技术原因是 SciPy 需要编译大量内容,并且其中很多内容都有外部依赖项。这些需要满足。您可以手动执行此操作(通过阅读错误),或者在这种情况下,如果有 repo 版本,您可以要求 Apt 安装构建依赖项:

sudo apt-get build-dep python3-scipy

这将安装大量的软件包。请注意,其中一些可能是您已经安装的东西pip。我看到很多 numpy 的东西。当心。

如果您在虚拟环境中构建,您仍然需要经历类似的过程,但我建议不要使用它apt来满足您的依赖关系,因为您可能会有不同版本的依赖关系。这不是一个健康的构建方法。

简而言之,使用 repo 版本是最简单的。

你也可以尝试

sudo apt-get install python3-scipy

相关内容