关于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                    <pip>
tensorflow-estimator      1.15.1                    <pip>

当列表中出现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个步骤,见招拆招,每一步都正确,那么结果就会是正确的。

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

在Mac上按照官网教程安装成功tensor flow后,但在程序中导入时,仍然报错,包括但不限于以下两个错误。对于这种错误,原因主要在于Mac内默认的python库比较老了,即便通过pip命令安装了新的包,python也会默认导入默认位置的包。这时候需要做的就是删除,有冲突的包,对于以下两个错误,就是分别时numpy和six两个包冲突了。 可以在python命令行环境下,通过numpy.version和six.version两个命令查看当前版本,如果与预期的不一致,就可以删掉。 可以通过numpy.path查看默认包的位置。 import tensorflow RuntimeEr
笔者在运行 import tensorflow as tf时出现下面的错误,但在运行import tensorflow时没有出错。 >>> import tensorflow as tf RuntimeError: module compiled against API version 0xc but this version of numpy is 0xa ImportError: numpy.core.multiarray failed to import ImportError: numpy.core.umath failed to import ImportError: numpy.
本人为了使用tensorflow-gpu搞到心态都崩了,听说python版本不行,于是卸了重装,结果后面再装tensorflow-gpu死活用不了,一import就报错,最后搞了一天才成功(真有一天了)。不过有一说一,用了gpu加速那速度真是快,我觉得快了十倍吧。 为了防止以后再掉坑,记录一下。 1.不用装anaconda(坑我6个小时以上)这里面不知道为什么tensorflow-gpu版本死活选不了,就一个1.1.0能下 2.其实就是环境问题,各个版本对应上基本就可以了 python:3
解决>>> import tensorflow ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath’ 错误 安装TensorFlow以后,在python编辑器上输入 import tensorflow,报错。 升级一下你的pip,重新安装一下numpy pip install --upgr...
如果您在安装TensorFlow之后无法成功导入它,可能是由于以下原因之一: 1. 您的Python环境不兼容TensorFlow版本。请确保您的Python版本与TensorFlow版本兼容,并且已经正确安装了所有依赖项。 2. 您的TensorFlow安装可能存在问题。请尝试重新安装TensorFlow,并确保您已经按照官方文档中的指示进行了正确的安装。 3. 您的代码中可能存在语法错误或其他问题。请检查您的代码,并确保您已经正确地导入了TensorFlow库。 如果您仍然无法解决问题,请尝试在TensorFlow社区或其他技术论坛上寻求帮助。