导入tensorflow包报错——ImportError: DLL load failed: 找不到指定的模块


前言

在Anaconda Prompt中重新设置了tensorfolw的环境后,导入包出现报错。


一、运行报错

执行导入包命令

import tensorflow as tf

报错显示如下
报错
找不到指定模块,于是尝试解决,以下是漫长的解决历史。

二、原因及解决

1.版本原因

有可能是版本原因导致的,tensorflow需要64位python的支持,之前在自己笔记本装时候就因为自己装的是32位的python编译器导致一直报这个错误。
由于刚刚重装的Anaconda,下载的确确实实是64bit的,排除这个原因。

2.Anaconda中未安装Spyder

这是我找到重复性最高的一个原因,解决方法为在Anaconda Prompt中打开tensorflow,输入如下命令安装Spyder

conda install spyder

安装完成后输入导入命令,依然报错,下一个。

3.Python不对应

机子装的Anaconda中Python是3.8版本的,但是tensorflow环境中装的版本是3.5.x的,于是我又一次卸载原来的Python,将如下命令中的3.5改为3.8,操作完后仍然会报错。

conda create --name tensorflow python=3.5

4.安装的tensorflow版本过高

在重装过程中使用如下命令安装tensorflow时报错,报错显示找不到符合版本的tensorflow(忘了截图),只有诸多2.0版本的。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.5.0

经过多番寻找,找到了一些低版本的tensorflow下载地址,又使用命令更换了源网址,还是在做无用功,于是使用如下命令直接安装新版本。

pip install --upgrade --ignore-installed tensorflow

部分网上找的资料说新版本的tensorflow不支持比较旧的主机,看着实验室比较老的主机,我将主要精力放在这一步,着实花费了许多时间,但都失败了,下一个。

5.安装新版Vc

网上一些资料说是由于机子上的Vc版本不够导致的,由于这一步需要下载较大的安装包及不够让我信服,真实性待定,我没有去尝试。

6.环境不完全(解决)

对于新版的tensorflow,需要有一个msvcp140_1.dll文件,需要去下载一个vc_redist应用程序。
下载地址如下:
https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
下载箭头所指的那个文件,下载完后运行即可解决问题。
下载
重新进入虚拟环境打开Python,输入导入包的代码,能成功导入包。
成功


总结

对于这个报错前前后后重装了好多次的Anaconda和tensorflow环境,花了整整一晚上的时间,但是只要坚持,只要我踩的坑够多,我就能把它踩平!

猜你喜欢

转载自blog.csdn.net/weixin_47585015/article/details/110358232