900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python动态库反初始化_解决TensorFlow的ImportError: DLL load failed: 动态链接

python动态库反初始化_解决TensorFlow的ImportError: DLL load failed: 动态链接

时间:2021-07-08 04:28:22

相关推荐

python动态库反初始化_解决TensorFlow的ImportError: DLL load failed: 动态链接

【背景】

在scikit-learn基础上系统结合数学和编程的角度学习了机器学习后(我的github:/wwcom614/machine-learning),意犹未尽,打算再借势学习下深度学习TensorFlow。无奈安装之后遇到了这个问题,耽误了几个小时才得以解决。

我发现这是个很多人开始TensorFlow之旅普遍遇到的问题,而且是很多人尝试了网上很多方法都未解决的问题。排坑过程很烦,主要是各种尝试很耗时间,最终自己找到了原因,解决了问题,共享给各位同学,少走弯路,抓紧上路,呵呵。

【遇到问题】

我是在Windows环境下,使用Anaconda3的python3.6.5环境,安装TensorFlow最简单的CPU版本(自己的搓平板电脑不支持GPU):

管理员身份运行Anaconda Prompt,然后执行:pip install tensorflow

安装过程非常顺利,Python中 import tensorflow 也OK

但是运行tensorflow程序时,报:

File "路径\Python\Python36\lib\importlib\__init__.py", line 126, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

File "", line 978, in _gcd_import

File "", line 961, in _find_and_load

File "", line 950, in _find_and_load_unlocked

File "", line 648, in _load_unlocked

File "", line 560, in module_from_spec

File "", line 922, in create_module

File "", line 205, in _call_with_frames_removed

ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败。

【解决过程】

网上搜索有人说,这是使用Python3.6导致的,TensorFlow目前只支持Python3.5。但我在TensorFlow官网发现其已经支持Python3.6。但我考虑也许最新版本支持不完善?反正咱用的是Anaconda,换个Python版本so easy(有兴趣可以查看我的另外一篇使用Anaconda的博客/wwcom123/p/9152909.html)。轻松切换为Python3.5环境,发现问题依旧,那么不是这个问题。

于是我换回Python3.6.5版本继续尝试。

网上还有人说,这是未安装微软的Microsoft Visual C++ Redistributable Update 3导致,于是到/zh-cn/download/confirmation.aspx?id=53587下载安装,发现机器上本来就有,而且问题依旧,那么也不是这个问题。

最终想到,也许是最新版本有兼容性问题,安装老版本的TensorFlow尝试一下,于是管理员身份运行Anaconda Prompt,先卸载之前安装的最新版版本的TensorFlow:pip uninstall tensorflow , 然后执行:pip install tensorflow==1.3。结果问题解决。

【结论】

目前可以基于Python3.6.5版本进行TensorFlow开发。根本原因是自己的电脑不新,CPU尽管是Intel的,但不新也许太老不主流了,TensorFlow的新版本已不打算继续支持这种CPU了。所以我尝试1.3版本的TensorFlow是OK的,但最新的1.8版本就报错了(1.4版本会有个warning)。

打开App,阅读手记

python动态库反初始化_解决TensorFlow的ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。