文章目录
前言
在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环境,花了整整一晚上的时间,但是只要坚持,只要我踩的坑够多,我就能把它踩平!