我正在尝试为 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
我该如何安装scipy
?pip3
如果没有解决方案pip3
,我还能如何安装适用于 python3.x 的 scipy?
答案1
它准确地告诉您需要做什么:安装所有这些构建依赖项。
在此之前,我之前已经说过几次,我一般不建议人们使用pip
(或pip3
)将包安装到全局 Python 安装中。pip
和apt-get
完全互不相干。 文件可能会被过度覆盖或删除,而且由于您的操作系统依靠在你的 Python 环境上工作,弄乱它并不是一个好主意。
因此,我建议使用虚拟环境(将所有内容与系统分开)或仅使用存储库部署的包。
也就是说,您无法安装的技术原因是 SciPy 需要编译大量内容,并且其中很多内容都有外部依赖项。这些需要满足。您可以手动执行此操作(通过阅读错误),或者在这种情况下,如果有 repo 版本,您可以要求 Apt 安装构建依赖项:
sudo apt-get build-dep python3-scipy
这将安装大量的软件包。请注意,其中一些可能是您已经安装的东西pip
。我看到很多 numpy 的东西。当心。
如果您在虚拟环境中构建,您仍然需要经历类似的过程,但我建议不要使用它apt
来满足您的依赖关系,因为您可能会有不同版本的依赖关系。这不是一个健康的构建方法。
简而言之,使用 repo 版本是最简单的。
你也可以尝试
sudo apt-get install python3-scipy