导入SciPy或scikit-image时出现“from scipy.linalg import _fblas: 导入错误:DLL失败”

14 投票
8 回答
26257 浏览
提问于 2025-04-18 17:55

我正在导入:

from scipy import misc, io 

但是我遇到了这些错误:

Traceback (most recent call last):
  File "C:\work_asaaki\code\generateProposals.py", line 20, in <module>
    from scipy import misc, io
  File "C:\Python27\lib\site-packages\scipy\misc\__init__.py", line 47, in <module>
    from scipy.special import comb, factorial, factorial2, factorialk
  File "C:\Python27\lib\site-packages\scipy\special\__init__.py", line 548, in <module>
    from .basic import *
  File "C:\Python27\lib\site-packages\scipy\special\basic.py", line 17, in <module>
    from . import orthogonal
  File "C:\Python27\lib\site-packages\scipy\special\orthogonal.py", line 90, in <module>
    from scipy import linalg
  File "C:\Python27\lib\site-packages\scipy\linalg\__init__.py", line 159, in <module>
    from .misc import *
  File "C:\Python27\lib\site-packages\scipy\linalg\misc.py", line 5, in <module>
    from . import blas
  File "C:\Python27\lib\site-packages\scipy\linalg\blas.py", line 145, in <module>
    from scipy.linalg import _fblas
ImportError: DLL load failed: The specified module could not be found.
Exception in thread Thread-1 (most likely raised during interpreter shutdown):

我在64位的Windows 7上运行,使用的是Python 2.7,在Anaconda的Spyder环境中。

我尝试过以下方法:

pip install scipy-stack # this couldn't find any downloads that satisfy scipy-stack
pip install _fblas # this wasn't found
pip install ipython # this was successful
pip install scikit-learn # this was successful
pip install scipy # this was successful

我试着从 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载SciPy、SciPy-Stack和scikit-image,但我不知道哪里出了问题——好像所有的链接都坏了。我的下载总是在中途失败。有没有什么办法解决这个问题?(不想从头开始重新安装Anaconda Spyder)

8 个回答

0

在我的情况下,当我运行下面的代码时,出现了这个错误:

from sklearn import datasets
iris = datasets.load_iris()

我通过把scipy从 0.16.0-np110py27_0 更新到 0.17.1-np110py27_1 来解决这个问题。

你可以使用这个命令来更新:
conda update scipy

接下来会下载以下软件包:

package                    |            build
---------------------------|-----------------
mkl-11.3.3                 |                1       110.0 MB
python-2.7.12              |                0        23.5 MB
conda-env-2.5.1            |           py27_0          67 KB
ruamel_yaml-0.11.7         |           py27_0         201 KB
conda-4.1.9                |           py27_0         245 KB
numexpr-2.4.4              |      np110py27_0         120 KB
scipy-0.17.1               |      np110py27_1        11.5 MB
scikit-learn-0.16.1        |      np110py27_0         3.5 MB
------------------------------------------------------------
                                       Total:       149.1 MB

将会安装以下新软件包:

mkl:          11.3.3-1
ruamel_yaml:  0.11.7-py27_0

将会更新以下软件包:

conda:        4.0.7-py27_0       --> 4.1.9-py27_0
conda-env:    2.4.5-py27_0       --> 2.5.1-py27_0
numexpr:      2.3.1-np19py27_0   --> 2.4.4-np110py27_0
python:       2.7.11-4           --> 2.7.12-0
scikit-learn: 0.15.2-np19py27_0  --> 0.16.1-np110py27_0
scipy:        0.16.0-np110py27_0 --> 0.17.1-np110py27_1
1

我也遇到过同样的问题,后来从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载了最新版本的NumPy+MKL,结果问题解决了。顺便说一下,奇怪的是我无法通过wheel安装这个.whl文件,但用pip安装就没问题。

2

我在使用statsmodels这个包进行时间序列分析时遇到了类似的问题。我使用的是Anaconda 3.X版本。很多回答建议在卸载普通的numpy后,从mkl分发版重新安装numpy。

这可能是个好主意,但我不想影响我现在的环境,所以我创建了一个新的Python虚拟环境,并按照以下顺序用pip安装了包:numpy>>scipy>>statsmodels

这样做对我有效。

2

我在Windows 8.1上解决了这个问题,方法是安装了Scipy‑stack‑14.8.27.win32‑py2.7.exe

显然,scipy‑0.14.0.win32‑py2.7.exe缺少了一些东西。

7

如果之前的回答没有解决你的问题,可以看看这个问题的答案:https://stackoverflow.com/a/17511983/1407575

这个对我有用!

撰写回答