导入tensorflow时报错:cannot import name 'abs'的解决

yipeiwu_com6年前Python基础

一,问题背景

作者在用tensorflow做实验时,import tensorflow忽然报错:cannot import name 'abs'。错误情况如下所示:

这个问题出现的比较新,网上暂时没有太多的讨论。

二,可能原因

对于这个问题,讨论最多的在github上,附上链接:https://github.com/tensorflow/tensorflow/issues/20778

提问者也是遇到了同样的问题:

tensorflow官方暂时将这个问题标记为了“待回应”。

有网友指出该问题的产生原因可能为:

1.需要正确版本的protobuf

2.可能是_impl路径的问题

3.可能与python的版本有关

4.这个bug几乎只有在windows下出现,目前针对该问题,官方还未给出具体原因和解决方法

三,解决办法

有人尝试更新protobuf,重新安装tensorflow,但是问题仍旧存在:

后续有人给出了解决办法,经测试,下面这种方法能解决这个问题:

解决方法:

1. 运行tensorflow,此时会报错,按后面的步骤继续做

2. 删除tensorflow文件夹

3. 卸载tensorflow后再重新安装即可解决问题

总的来说,执行这些步骤后,可成功导入tensorflow:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python matlibplot绘制多条曲线图

python matlibplot绘制多条曲线图

这里我利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图: # -*- coding: UTF-8 -*- import numpy...

python快速编写单行注释多行注释的方法

python快速编写单行注释多行注释的方法

在python代码编写过程中,养成注释的习惯非常有用,可以让自己或别人后续在阅读代码时,轻松理解代码的含义。 如果只是简单的单行注释,可直接用“#”号开头,放于代码前面。 单行注释也可...

shelve 用来持久化任意的Python对象实例代码

shelve -- 用来持久化任意的Python对象 这几天接触了Python中的shelve这个module,感觉比pickle用起来更简单一些,它也是一个用来持久化Python对象的...

Python中的hypot()方法使用简介

 hypot()方法返回的欧几里德范数 sqrt(x*x + y*y). 语法 以下是hypot()方法的语法: hypot(x, y) 注意:此函数是无法直接访问的...

Python使用设计模式中的责任链模式与迭代器模式的示例

Python使用设计模式中的责任链模式与迭代器模式的示例

责任链模式 责任链模式:将能处理请求的对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理请求为止,避免请求的发送者和接收者之间的耦合关系。 #encoding=utf-8...