导入SciPy或scikit-image时出现“from scipy.linalg import _fblas: 导入错误:DLL失败”
我正在导入:
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 个回答
在我的情况下,当我运行下面的代码时,出现了这个错误:
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
我也遇到过同样的问题,后来从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载了最新版本的NumPy+MKL,结果问题解决了。顺便说一下,奇怪的是我无法通过wheel安装这个.whl文件,但用pip安装就没问题。
我在使用statsmodels这个包进行时间序列分析时遇到了类似的问题。我使用的是Anaconda 3.X版本。很多回答建议在卸载普通的numpy后,从mkl分发版重新安装numpy。
这可能是个好主意,但我不想影响我现在的环境,所以我创建了一个新的Python虚拟环境,并按照以下顺序用pip安装了包:numpy>>scipy>>statsmodels
这样做对我有效。
我在Windows 8.1上解决了这个问题,方法是安装了Scipy‑stack‑14.8.27.win32‑py2.7.exe。
显然,scipy‑0.14.0.win32‑py2.7.exe缺少了一些东西。
如果之前的回答没有解决你的问题,可以看看这个问题的答案:https://stackoverflow.com/a/17511983/1407575
这个对我有用!