在 Windows 上安装 scipy 的问题

Posted

技术标签:

【中文标题】在 Windows 上安装 scipy 的问题【英文标题】:Issue with scipy install on windows 【发布时间】:2015-12-08 11:13:57 【问题描述】:

我之前安装了 scipy、numpy 和 scikit-learn,它们都运行良好。 今天,我用 pip install 更新了我所有的库。 numpy 和 scikit-learn 更新到最新版本,但是 scipy 出现编译问题并被回滚。

当我尝试时

from sklearn.ensemble import RandomForestClassifier

我明白了

ImportError: No module named 'format'

我试图解决这个问题,但它对我不起作用。

所以,我卸载了 scipy,这样我就可以重新安装而不会出现任何错误。我无法做到这一点。

Failed building wheel for scipy 当我尝试pip install scipy

这是踪迹:

Collecting scipy
  Using cached scipy-0.16.0.tar.gz
Building wheels for collected packages: scipy
  Running setup.py bdist_wheel for scipy
  Complete output from command c:\users\xxx\anaconda3\python.exe -c "import setuptools;__file__='C:\\Users\\xxx\\AppData\\Local\\Temp\\pip-build-fqlt6je0\\scipy\\setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d C:\Users\xxx\AppData\Local\Temp\tmpnacedj77pip-wheel-:
  lapack_opt_info:
  openblas_lapack_info:
    libraries openblas not found in ['c:\\users\\xxx\\anaconda3\\lib', 'C:\\', 'c:\\users\\xxx\\anaconda3\\libs']
    NOT AVAILABLE

  lapack_mkl_info:
  mkl_info:
    libraries mkl_lapack95_lp64,mkl_blas95_lp64,mkl_intel_lp64,mkl_intel_thread,mkl_core,libiomp5md,libifportmd not found in []
    NOT AVAILABLE

    NOT AVAILABLE

  atlas_3_10_threads_info:
  Setting PTATLAS=ATLAS
    libraries tatlas,tatlas not found in c:\users\xxx\anaconda3\lib
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
    libraries tatlas,tatlas not found in C:\
    libraries lapack_atlas not found in C:\
    libraries tatlas,tatlas not found in c:\users\xxx\anaconda3\libs
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
  <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
    NOT AVAILABLE

  atlas_3_10_info:
    libraries satlas,satlas not found in c:\users\xxx\anaconda3\lib
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
    libraries satlas,satlas not found in C:\
    libraries lapack_atlas not found in C:\
    libraries satlas,satlas not found in c:\users\xxx\anaconda3\libs
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
  <class 'numpy.distutils.system_info.atlas_3_10_info'>
    NOT AVAILABLE

  atlas_threads_info:
  Setting PTATLAS=ATLAS
    libraries ptf77blas,ptcblas,atlas not found in c:\users\xxx\anaconda3\lib
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
    libraries ptf77blas,ptcblas,atlas not found in C:\
    libraries lapack_atlas not found in C:\
    libraries ptf77blas,ptcblas,atlas not found in c:\users\xxx\anaconda3\libs
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
  <class 'numpy.distutils.system_info.atlas_threads_info'>
    NOT AVAILABLE

  atlas_info:
    libraries f77blas,cblas,atlas not found in c:\users\xxx\anaconda3\lib
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
    libraries f77blas,cblas,atlas not found in C:\
    libraries lapack_atlas not found in C:\
    libraries f77blas,cblas,atlas not found in c:\users\xxx\anaconda3\libs
    libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
  <class 'numpy.distutils.system_info.atlas_info'>
    NOT AVAILABLE

  lapack_info:
    libraries lapack not found in ['c:\\users\\xxx\\anaconda3\\lib', 'C:\\', 'c:\\users\\xxx\\anaconda3\\libs']
    NOT AVAILABLE

  lapack_src_info:
    NOT AVAILABLE

    NOT AVAILABLE

  c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:594: UserWarning: Specified path C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64 is invalid.
    warnings.warn('Specified path %s is invalid.' % d)
  c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:594: UserWarning: Specified path C:/Program Files (x86)/Intel/Composer XE/compiler/lib/intel64 is invalid.
    warnings.warn('Specified path %s is invalid.' % d)
  c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:594: UserWarning: Specified path C:/Program Files (x86)/Intel/Composer XE/mkl/include is invalid.
    warnings.warn('Specified path %s is invalid.' % d)
  c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:1505: 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__)
  c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:1516: 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__)
  c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:1519: 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__)
  Running from scipy source directory.
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy\setup.py", line 253, in <module>
      setup_package()
    File "C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy\setup.py", line 250, in setup_package
      setup(**metadata)
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\core.py", line 135, in setup
      config = configuration()
    File "C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy\setup.py", line 175, in configuration
      config.add_subpackage('scipy')
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 966, in add_subpackage
      caller_level = 2)
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 935, in get_subpackage
      caller_level = caller_level + 1)
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 872, in _get_configuration_from_setup_py
      config = setup_module.configuration(*args)
    File "scipy\setup.py", line 15, in configuration
      config.add_subpackage('linalg')
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 966, in add_subpackage
      caller_level = 2)
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 935, in get_subpackage
      caller_level = caller_level + 1)
    File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 872, in _get_configuration_from_setup_py
      config = setup_module.configuration(*args)
    File "scipy\linalg\setup.py", line 19, in configuration
      raise NotFoundError('no lapack/blas resources found')
  numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

  ----------------------------------------
  Failed building wheel for scipy
Failed to build scipy
Installing collected packages: scipy
  Running setup.py install for scipy
    Complete output from command c:\users\xxx\anaconda3\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\xxx\\AppData\\Local\\Temp\\pip-build-fqlt6je0\\scipy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\xxx\AppData\Local\Temp\pip-garwperl-record\install-record.txt --single-version-externally-managed --compile:
    lapack_opt_info:
    openblas_lapack_info:
      libraries openblas not found in ['c:\\users\\xxx\\anaconda3\\lib', 'C:\\', 'c:\\users\\xxx\\anaconda3\\libs']
      NOT AVAILABLE

    lapack_mkl_info:
    mkl_info:
      libraries mkl_lapack95_lp64,mkl_blas95_lp64,mkl_intel_lp64,mkl_intel_thread,mkl_core,libiomp5md,libifportmd not found in []
      NOT AVAILABLE

      NOT AVAILABLE

    atlas_3_10_threads_info:
    Setting PTATLAS=ATLAS
      libraries tatlas,tatlas not found in c:\users\xxx\anaconda3\lib
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
      libraries tatlas,tatlas not found in C:\
      libraries lapack_atlas not found in C:\
      libraries tatlas,tatlas not found in c:\users\xxx\anaconda3\libs
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
    <class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
      NOT AVAILABLE

    atlas_3_10_info:
      libraries satlas,satlas not found in c:\users\xxx\anaconda3\lib
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
      libraries satlas,satlas not found in C:\
      libraries lapack_atlas not found in C:\
      libraries satlas,satlas not found in c:\users\xxx\anaconda3\libs
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
    <class 'numpy.distutils.system_info.atlas_3_10_info'>
      NOT AVAILABLE

    atlas_threads_info:
    Setting PTATLAS=ATLAS
      libraries ptf77blas,ptcblas,atlas not found in c:\users\xxx\anaconda3\lib
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
      libraries ptf77blas,ptcblas,atlas not found in C:\
      libraries lapack_atlas not found in C:\
      libraries ptf77blas,ptcblas,atlas not found in c:\users\xxx\anaconda3\libs
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
    <class 'numpy.distutils.system_info.atlas_threads_info'>
      NOT AVAILABLE

    atlas_info:
      libraries f77blas,cblas,atlas not found in c:\users\xxx\anaconda3\lib
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\lib
      libraries f77blas,cblas,atlas not found in C:\
      libraries lapack_atlas not found in C:\
      libraries f77blas,cblas,atlas not found in c:\users\xxx\anaconda3\libs
      libraries lapack_atlas not found in c:\users\xxx\anaconda3\libs
    <class 'numpy.distutils.system_info.atlas_info'>
      NOT AVAILABLE

    lapack_info:
      libraries lapack not found in ['c:\\users\\xxx\\anaconda3\\lib', 'C:\\', 'c:\\users\\xxx\\anaconda3\\libs']
      NOT AVAILABLE

    lapack_src_info:
      NOT AVAILABLE

      NOT AVAILABLE

    c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:594: UserWarning: Specified path C:/Program Files (x86)/Intel/Composer XE/mkl/lib/intel64 is invalid.
      warnings.warn('Specified path %s is invalid.' % d)
    c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:594: UserWarning: Specified path C:/Program Files (x86)/Intel/Composer XE/compiler/lib/intel64 is invalid.
      warnings.warn('Specified path %s is invalid.' % d)
    c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:594: UserWarning: Specified path C:/Program Files (x86)/Intel/Composer XE/mkl/include is invalid.
      warnings.warn('Specified path %s is invalid.' % d)
    c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:1505: 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__)
    c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:1516: 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__)
    c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\system_info.py:1519: 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__)
    Running from scipy source directory.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy\setup.py", line 253, in <module>
        setup_package()
      File "C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy\setup.py", line 250, in setup_package
        setup(**metadata)
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\core.py", line 135, in setup
        config = configuration()
      File "C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy\setup.py", line 175, in configuration
        config.add_subpackage('scipy')
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 966, in add_subpackage
        caller_level = 2)
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 935, in get_subpackage
        caller_level = caller_level + 1)
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 872, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy\setup.py", line 15, in configuration
        config.add_subpackage('linalg')
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 966, in add_subpackage
        caller_level = 2)
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 935, in get_subpackage
        caller_level = caller_level + 1)
      File "c:\users\xxx\anaconda3\lib\site-packages\numpy\distutils\misc_util.py", line 872, in _get_configuration_from_setup_py
        config = setup_module.configuration(*args)
      File "scipy\linalg\setup.py", line 19, in configuration
        raise NotFoundError('no lapack/blas resources found')
    numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

    ----------------------------------------
Command "c:\users\xxx\anaconda3\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\xxx\\AppData\\Local\\Temp\\pip-build-fqlt6je0\\scipy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\xxx\AppData\Local\Temp\pip-garwperl-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\xxx\AppData\Local\Temp\pip-build-fqlt6je0\scipy

我发现缺少 blas 和 lapack 库。 有没有比安装程序更简单的方法来解决我的错误。为此,我必须获得 BLAS、LAPACK、ATLAS。

关于我为什么遇到这个问题的任何输入,当我尝试更新时库文件是否被删除?

谢谢!

【问题讨论】:

如果你使用 anaconda 为什么不在命令行上使用 conda install scipy 安装 scipy? 我尝试了 conda install,但一直遇到以下问题:ImportError: cannot import name 'check_arrays' 你是如何卸载 scipy 的?通过点子?如果它是使用 anaconda 或 conda 安装的,那么您可能弄坏了一些东西。你可以重新安装anaconda吗?我认为这将是最简单的方法。但首先尝试@IVlad 所说的“Christoph Gohlke 的用于 Python 扩展包的非官方 Windows 二进制文件”。 感谢您的宝贵时间。我终于可以在这个问题的帮助下解决这个问题:link 太好了! 【参考方案1】:

在 Windows 上,如果使用 pip 安装 scipy,您可能会遇到问题。如果您正在运行 anaconda,您可以尝试 cmets 中的建议:

conda install scipy

或者您可以尝试从here 下载最新 scipy 的 Windows 版本:

用于 Python 扩展包的非官方 Windows 二进制文件 作者:Christoph Gohlke,加州大学欧文分校荧光动力学实验室

然后使用pip安装下载的.whl文件。

【讨论】:

我尝试了 conda install,但一直遇到以下问题:ImportError: cannot import name 'check_arrays'

以上是关于在 Windows 上安装 scipy 的问题的主要内容,如果未能解决你的问题,请参考以下文章

windows上安装numpy,scipy

在 Windows10 上的 Python 3.10 中安装 scipy 时出错

Windows Scipy 安装:未找到 Lapack/Blas 资源

Windows下的numpy scipy的安装注意事项

解决scipy安装(pip install scipy)失败,以及其他问题

0 Windows上安装Anaconda和python的教程详解