TensorFlow安装后import失败怎么办(小白必看)

关于TensorFlow安装后import调用失败的情况,很多刚入行的同学经常踩坑。网络上求助,大多是碎片化的方案,无法有效解决自己本地问题。针对这个情况,笔者和大家分享一个轻松简单的排查思路,方便同学们抽丝剥茧,找到适合自己的解决方法。

问题背景还原:

通过打开anaconda prompt,输入命令行pip install tensorflow。完成安装后,打开jupyter notebook,输入import tensorflow时,出现报错,找不到该模块:

# ImportError: No module named tensorflow


出现这种情况,不要着急。让我们把上面的几句话,拆解为步骤:

第1步:打开anaconda prompt

第2步:输入pip install进行安装

第3步:完成安装

第4步:打开jupyter notebook

最后,输入import tensorflow进行调用。


俗话说,只有过程正确,结果才能正确。上述4个步骤,每一步都有坑,你都晓得吗?

第1步:打开anaconda prompt的注意细节

这一步有以下几个细节(按常见性排序):

1. 打开anaconda prompt时,要右键管理员身份运行,否则会出现未知错误

2. anaconda软件确保是64位安装包,如果是32位的,要卸载重新安装64anaconda

3. 如果习惯通过cmd打开命令窗口,要记得先输入activate到指定环境,再输入pip install prompt安装命令。不要在cmd下直接执行该命令,虽然有人这样操作也可以成功安装,但你的电脑环境和别人不一样,一定按照标准操作来。

第2步:输入pip install进行安装时的细节

这一步常出现的情况有:

1. 下载速度慢,经常超时中断;有时误以为下载完成,其实没有安装成功

2. 安装时出现wrapt报错,或出现twist版本过低的提示

关于第1点,我们通过镜像方式解决,代码如下:

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

GPU用户,需改为tensorflow-gpu==2.0.0

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

# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==2.0.0


在命令行中输入代码时,一定要仔细,比如https:后面是双斜杠// ,upgrade前面是--,等

阿里镜像源也不错,推荐使用:

阿里云:http://mirrors.aliyun.com/pypi/simple/

关于第2点,主要还是本机的tensorflow版本问题

出现wrapt报错时,可以通过下列代码来解决

# pip install wrapt --upgrade --ignore-installed


出现twist版本过低时,可以网络搜索twist,下载更高版本,安装后再进行pip install tensorflow安装

但有些电脑可能升级twist也会报错。笔者建议可以尝试更低的tensorflow版本。如果tensorflow2.0版本安装时出现报错,就尝试安装tensorflow1.5或者1.1.5版本即可解决。

pip指定tensorflow版本安装代码如下:

# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade tensorflow-gpu==1.1.5


第3步,完成安装后,一定要再次检查是否真的安装成功

这一步非常重要,很多新手忽略了。通过conda list tensorflow来检查是否已存在tensorflow库

# (base) C:\Windows\system32>conda list tensorflow

# packages in environment at D:\Anaconda3:

# Name                      Version                  Build  Channel

tensorflow                   1.15.0                   

tensorflow-estimator    1.15.1                   


当列表中出现tensorflow,就说明成功安装了。如果你的列表中只有tensorflow-estimator,而没有tensorflow这个文件,那说明未安装成功,要回到本文的第1步,检查自己到底哪个环节疏漏了。

第4步:打开jupyter notebook,执行import调用

如果前3步你都正确执行了,那么最容易被新手忽略的一步来了,很多新手出现问题,都是栽在这一步了!要认真听了

在第3步的代码中,笔者将tensorflow安装在了base环境,很多伙伴喜欢通过anaconda创建虚拟环境,然后在虚拟环境安装tensorflow库。比如你创建了一个虚拟环境,命名为:B 。

然后如下操作:

# activate B    //激活虚拟环境B

# jupyter notebook    //启动jupyter


系统启动默认浏览器,进入jupyter web开发界面,新建.ipynb,输入:

# import tensorflow as tf

# sess = tf.Session()

# a = tf.constant(10)

# b= tf.constant(12)

# sess.run(a+b)


运行结果为22,就代表你已经完全安装好Tensorflow了;如果提示:ImportError: No module named tensorflow,那又是什么原因呢?

首先你要打开anaconda图形管理页面,在【HOME】中切换到虚拟环境B,检查下其jupyter notebook是否已安装。


如果按钮为“Launch”,代表已安装;如果按钮为“Install”,代表B环境下的jupyter还未安装,当你在命令行中如下输入时:

# (base) C:\Windows\system32>activate B

# (B) C:\Windows\system32>jupyter notebook


(B) C:\Windows\system32,表示你当前已经切换到虚拟环境B中进行操作,但其实anaconda默认启动浏览器后,进入的是base环境下jupyter,因为虚拟环境B中jupyter并没有被安装。这也就解释了为什么明明安装了tensorflow,却import不到。

原因就是:你将tensorflow安装在了虚拟环境B,而你正在使用base环境下jupyter编程。

解决方法就是:在第4步中我们一定要注意,提前在anaconda图形管理器中,将虚拟环境下的jupyter notebook安装完成,然后再执行如下代码,就可以顺利启动虚拟环境B的jupyter,进行网页端编程了:

# activate B  //激活虚拟环境B

# jupyter notebook  //启动jupyter


最后再补充一点小贴士,学习tensorflow初学者,一般也会用到keras。keras镜像安装代码如下:

# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade keras==2.3.1


这里要特别注意的是,keras是基于tensorflow代码高度封装的库,keras版本和tensorflow版本需要对应。不可以随便安装版本,具体对应规则,网络搜索“keras和tensorflow版本对应”即可。

会者不难,难者不会。TensorFlow的安装过程,很多新人可能搞上2-3天还是不成功。只要注意以上4个步骤,见招拆招,每一步都正确,那么结果就会是正确的。

本文到此完结,希望对你有帮助。

你可能感兴趣的:(TensorFlow安装后import失败怎么办(小白必看))