导入SciPy或scikit-image时出现“from scipy.linalg import _fblas: Import Error: DLL failed”错误。

14

我正在导入:

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)?


你解决了吗? - karlphillip
是的,最后我只能重新下载和安装整个Anaconda/Spyder环境。没有重新安装的话,我解决不了这个问题。 - user961627
如果您仔细查看uci页面,它会提到“在安装scipy之前安装numpy+mkl。”这对我解决了问题。 - Charles L.
8个回答

7

2
我在进行时间序列分析时,使用statsmodels包时遇到了类似的问题。我正在使用Anaconda 3.X发行版。很多答案都指向卸载常规版本后再从mkl发行版安装numpy。这可能是个好主意,但我不想干扰我的当前环境,所以我创建了一个新的Python虚拟环境,并按以下顺序使用pip安装了软件包:numpy>>scipy>>statsmodels。这对我有用。

2

我在哪里可以找到那个文件?它没有在你提供的文件中链接。 - razorsyntax
1
我不是新手。当然我用过谷歌。但它没有找到任何结果。有其他的选择吗?否则,我们可能需要关闭/删除这个帖子,因为这个答案已经不再有用了。 - razorsyntax
1
在这种情况下,这些是scipy-stack的组件。您可以单独下载和安装它们。 - karlphillip

1
我遇到了同样的问题,通过从http://www.lfd.uci.edu/~gohlke/pythonlibs/安装最新版本的NumPy+MKL来解决。顺便说一下,奇怪的是我无法通过wheel安装.whl文件,但通过pip安装可以正常工作。

0

这对我有用

conda update scipy

... 以下新软件包将被安装:

icc_rt:       2017.0.4-h97af966_0
intel-openmp: 2018.0.0-8

以下软件包将被更新:

conda:        4.3.34-py36_0       conda-forge --> 4.5.0-py36_0
conda-env:    2.6.0-0             conda-forge --> 2.6.0-h36134e3_1
mkl:          2017.0.1-0                      --> 2018.0.2-1
numexpr:      2.6.1-np111py36_2               --> 2.6.4-py36h30784b8_0
numpy:        1.11.3-py36_0                   --> 1.11.3-py36h4a99626_4
pycosat:      0.6.1-py36_1                    --> 0.6.3-py36h413d8a4_0
scikit-learn: 0.18.1-np111py36_1              --> 0.19.1-py36h53aea1b_0
scipy:        0.18.1-np111py36_1              --> 1.0.0-py36h1260518_0

继续执行([y]/n)?y

为了进行测试,我输入了 python

from scipy import signal


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

0

搜索您的Numpy+MKL版本如此描述

这对我有用:

python - m pip install xxx

0

在我的情况下,这个解决方案是有效的。

操作系统为64位的Windows 10,Python版本为3.6.3

  1. 删除Numpy和Scipy
  2. https://www.lfd.uci.edu/~gohlke/pythonlibs/下载Numpy和Scipy的Windows二进制文件
  3. 安装Numpy和Scipy
  4. 运行命令pip3 install scipy-stack

然后,它就可以工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接