【问题标题】:import scipy.sparse failed导入 scipy.sparse 失败
【发布时间】:2016-04-07 21:35:37
【问题描述】:

我的 python 在 Win7(32 位)上是 3.5.1(32 位)。我已经安装了“scipy-0.16.1-cp35-none-win32.whl”和“numpy-1.10.2+mkl-cp35-none-win32.whl”下载表格http://www.lfd.uci.edu/~gohlke/pythonlibs/。并且可以正确导入 scipy 模型,如下所示:

import scipy

但是导入 scipy.sparse 时出现错误:

>>> import scipy.sparse
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\lib\site-packages\scipy\sparse\__init__.py", line 213, in <module>
    from .csr import *
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35-32\lib\site-packages\scipy\sparse\csr.py", line 13, in <module>
    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: DLL load failed: The specified module could not be found.

我通过 pip 安装 scipy 得到以下错误:

pip install scipy


Command 
  "c:\users\administrator\appdata\local\programs\python\python35-32\python.exe -c \
  """import setuptools, tokenize;
  __file__='C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-build-qzcp2rwj\\scipy\\s‌​etup.py';
  exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))""" \
  install --record C:\Users\ADMINI~1\AppData\Local\Temp\pip-lyz7f9x_-record\install-record.txt \
  --single-version-externally-managed --compile"
failed with error code 1 in C:\Users\ADMINI~1\AppData\Local\Temp\pip-build-qzcp2rwj\scipy

如何正确导入 scipy.sparse?

【问题讨论】:

  • 有什么理由不使用,例如,pip 来安装 scipy?可能比从一些相对随机 (imo) 的地方下载它有所不同。
  • 某些版本存在不兼容问题:github.com/jsalvatier/scikits.bvp_solver/issues/2。可能是你的情况
  • @Evert,一般来说这可能是正确的,但 Christoph Gohlke 的 python 包并不是“一些相对随机的地方”。 Christoph 多年来一直提供 Windows 软件包。恕我直言,克里斯托弗应该得到“科学蟒蛇英雄”的地位。
  • 直接通过 pip 安装 scipy 时出现更多错误
  • 你确定你有必要的依赖,以便构建必要的DLL吗?

标签: python numpy scipy


【解决方案1】:

通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/ 安装 python 3.4 和 3.4 依赖项解决了这个问题。似乎该错误仅由 python 3.5 环境重现。

正确的环境配置是:

  • 操作系统:Win7(32 位)
  • Win32 上的 Python 3.4.3(v3.4.3:9b73f1c3e601,2015 年 2 月 24 日,22:43:06)[MSC v.1600 32 位(英特尔)]
  • scipy-0.17.0rc1-cp34-none-win32.whl
  • numpy-1.10.2+mkl-cp34-none-win32.whl

【讨论】:

  • 我认为那是 Christoph Gohlke 的 scipy 和 numpy 包?
  • 不幸的是,它在 Python 3.5 中失败了。这暗示了轻微的 Python 库不兼容。如果您快速搜索使用 3.5 安装 scipy 会弹出许多问题,因此很难找出是哪一个导致了您的问题(如果有的话),这使得很难知道它是否会将来会修复(当您想要升级时),或者它甚至是一个全新的问题。
  • 是的@Evert,这是 Christoph 的 scipy 和 numpy。 py lib版本不兼容问题不易修复。所以我列出了正确的版本。希望任何人都可以从中受益:)
  • @ybdesire 坦克很多。你救了我的命 :)。 2天后我终于发现python 3.5有问题!
猜你喜欢
  • 1970-01-01
  • 2018-03-17
  • 2020-03-04
  • 2014-03-28
  • 2016-07-14
  • 2018-06-07
  • 2017-06-14
  • 2021-03-29
  • 2017-04-30
相关资源
最近更新 更多