【问题标题】:Error: Installing SciPy in Windows 10 64bit using pip (Python 3.5.2)错误:使用 pip (Python 3.5.2) 在 Windows 10 64 位中安装 SciPy
【发布时间】:2017-05-24 13:27:29
【问题描述】:

我想通过 pip(命令行)在我的系统中安装 SciPy 包。它是一个 Windows 10 64 位系统。我已经安装了 Python 3.5.2。我已经安装了其他机器学习和统计软件包,如 numpy、sklearn、pandas、matplotlib、sympy、jupyter、ipython 和 nose。他们都安装成功,没有任何错误。

我正在使用这个命令从 pip 安装 scipy:


C:\Projects\Kaggle>pip install scipy


但是在安装 scipy 时,我收到了这个错误:

C:\Projects\Kaggle>pip install scipy 收集 scipy 使用缓存 scipy-0.18.1.tar.gz 安装收集的包:scipy Running setup.py install for scipy ...错误 命令 c:\users\i319268\appdata\local\programs\python\python35\python.exe -u 的完整输出 -c "导入设置工具,标记化;文件='C:\Users\i319268\AppData\Local\Temp\pip-build-b1nkbg30\scipy\setup.py';f=getattr(tokenize, 'open', open)(文件);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" 安装 --record C:\Users\i319268\AppData\Local\Temp\pip-06bz__e6-record\install-record.txt --single-version-externally-managed --compile:

Note: if you need reliable uninstall behavior, then install
with pip instead of using `setup.py install`:

  - `pip install .`       (from a git repo or downloaded source
                           release)
  - `pip install scipy`   (last SciPy release on PyPI)


lapack_opt_info:
openblas_lapack_info:
  libraries openblas not found in ['c:\\users\\i319268\\appdata\\local\\programs\\python\\python35\\lib',

'C:\', 'c:\users\i319268\appdata\local\programs\python\python35\libs'] 不可用

lapack_mkl_info:
  libraries mkl_rt not found in ['c:\\users\\i319268\\appdata\\local\\programs\\python\\python35\\lib',

'C:\', 'c:\users\i319268\appdata\local\programs\python\python35\libs'] 不可用

atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\system_info.py:639:

用户警告:指定路径 C:\projects\numpy-wheels\windows-wheel-builder\atlas-builds\atlas-3.11.38-sse2-64\lib 是无效的。 warnings.warn('指定路径 %s 无效。' % d) 不可用

atlas_3_10_info:
<class 'numpy.distutils.system_info.atlas_3_10_info'>
  NOT AVAILABLE

atlas_threads_info:
Setting PTATLAS=ATLAS
<class 'numpy.distutils.system_info.atlas_threads_info'>
  NOT AVAILABLE

atlas_info:
<class 'numpy.distutils.system_info.atlas_info'>
  NOT AVAILABLE

c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\system_info.py:1532:

用户警告: 未找到 Atlas (http://math-atlas.sourceforge.net/) 库。 搜索库的目录可以在 numpy/distutils/site.cfg 文件([atlas] 部分)或通过设置 ATLAS 环境变量。 warnings.warn(AtlasNotFoundError.doc) 拉包信息: 在 ['c:\users\i319268\appdata\local\programs\python\python35\lib' 中找不到库 lapack, 'C:\', 'c:\users\i319268\appdata\local\programs\python\python35\libs'] 不可用

c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\system_info.py:1543:

用户警告: 未找到 Lapack (http://www.netlib.org/lapack/) 库。 搜索库的目录可以在 numpy/distutils/site.cfg 文件([lapack] 部分)或通过设置 LAPACK 环境变量。 warnings.warn(LapackNotFoundError.doc) lapack_src_info: 不可用

c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\system_info.py:1546:

用户警告: 未找到 Lapack 资源。 搜索源的目录可以在 numpy/distutils/site.cfg 文件([lapack_src] 部分)或通过设置 LAPACK_SRC 环境变量。 warnings.warn(LapackSrcNotFoundError.doc) 不可用

Running from scipy source directory.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\i319268\AppData\Local\Temp\pip-build-b1nkbg30\scipy\setup.py",

第 415 行,在 setup_package() 文件 "C:\Users\i319268\AppData\Local\Temp\pip-build-b1nkbg30\scipy\setup.py", 第 411 行,在 setup_package 设置(**元数据) 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\core.py”, 第 135 行,在设置中 配置 = 配置() 文件 "C:\Users\i319268\AppData\Local\Temp\pip-build-b1nkbg30\scipy\setup.py", 第 335 行,在配置中 config.add_subpackage('scipy') 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\misc_util.py”, 第 1000 行,在 add_subpackage 中 caller_level = 2) 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\misc_util.py”, 第 969 行,在 get_subpackage 中 caller_level = caller_level + 1) 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\misc_util.py”, 第 906 行,在 _get_configuration_from_setup_py 配置 = setup_module.configuration(*args) 文件“scipy\setup.py”,第 15 行,在配置中 config.add_subpackage('linalg') 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\misc_util.py”, 第 1000 行,在 add_subpackage 中 caller_level = 2) 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\misc_util.py”, 第 969 行,在 get_subpackage 中 caller_level = caller_level + 1) 文件“c:\users\i319268\appdata\local\programs\python\python35\lib\site-packages\numpy\distutils\misc_util.py”, 第 906 行,在 _get_configuration_from_setup_py 配置 = setup_module.configuration(*args) 文件“scipy\linalg\setup.py”,第 20 行,在配置中 raise NotFoundError('没有找到 lapack/blas 资源') numpy.distutils.system_info.NotFoundError: 找不到 lapack/blas 资源

---------------------------------------- Command "c:\users\i319268\appdata\local\programs\python\python35\python.exe -u

-c "导入设置工具,标记化;文件='C:\Users\i319268\AppData\Local\Temp\pip-build-b1nkbg30\scipy\setup.py';f=getattr (标记化, 'open', open)(文件);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" 安装 --record C:\Users\i319268\AppData\Local\Temp\pip-06bz__e6-record\install-record.txt --single-version-externally-managed --compile" 失败,错误代码 1 在 C:\Users\i319268\AppData\Local\Temp\pip-build-b1nkbg30\scipy\

我还尝试了 Christoph Gohlke 的非官方 SciPy 轮包。当我尝试从他的轮子包中安装时,它会出现这样的错误:

C:\Projects\Kaggle>pip install scipy-0.18.1-cp36-cp36m-win32.whl

scipy-0.18.1-cp36-cp36m-win32.whl 不支持此轮 平台。

我已经查看了 StackOverflow 的答案,但我完全陷入困境,无法弄清楚任何事情。任何帮助将不胜感激。提前致谢。

【问题讨论】:

  • .whl 名称中的 "win32" 表示它适用于 32 位 Python。如果您有 64 位 Python,则需要一个显示“amd64”的 Python。看看这是否有效。
  • 正如@BrenBarn 写道:您需要获得正确的车轮版本。你已经安装了 python 3.5,所以你需要下载 wheel 3.5 而不是 3.6
  • 非常感谢@BrenBarn。它说 SciPy 安装成功。但在那之后,当我尝试在 python 代码中导入 scipy 时,它会给出这样的错误: >>> import scipy Traceback (last recent call last): File "", line 1, in File " C:\Users\i319268\AppData\Local\Programs\Python\Python35\lib\site-packages\scipy_init_.py",第 61 行,在 from numpy._distributor_init import NUMPY_MKL #需要 numpy+mkl ImportError: cannot import name 'NUMPY_MKL'
  • 如果您使用 Gohlke 网站上的安装程序,您也需要使用该网站上的 Numpy MLK 安装程序。以我的经验,这是在 Windows 上运行的最简单方法(可能是 Anaconda 除外)。
  • 我明白了。我会试试看它是否有效。

标签: python python-3.x scipy pip windows-10


【解决方案1】:

这个问题已经解决了。感谢@BrenBarn 在上面的 cmets 中的帮助,我现在一切都启动并运行了。

使用来自Christoph Gohlke 的轮子包的最佳方法。

但是,这里要注意的主要一点是,您应该只使用他的非官方包中的所有包,因为许多包可能依赖于其他轮子包。需要记住的另一件事是选择正确版本的轮子包(32位或64位以及python的正确版本[主要在轮子包名称中提到为cp])。

例如,

SciPy wheel package for 64bit system and Python 3.6: scipy‑0.18.1‑cp36‑cp36m‑win_amd64.whl

SciPy wheel package for 32bit system and Python 2.7: scipy‑0.18.1‑cp27‑cp27m‑win32.whl

希望这对其他人也有帮助。再次感谢@BrenBarn 的帮助。

【讨论】:

    猜你喜欢
    • 2017-07-31
    • 2017-07-27
    • 2014-12-26
    • 2018-09-24
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 2015-11-05
    相关资源
    最近更新 更多