导入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多线程下载文件的方法

本文实例讲述了Python多线程下载文件的方法。分享给大家供大家参考。具体实现方法如下: import httplib import urllib2 import time from...

python2 中 unicode 和 str 之间的转换及与python3 str 的区别

在python2中字符串分为 unicode 和 str 类型   Str To Unicode 使用decode(), 解码   Unicode To Str 使用encode()...

Django基础知识 web框架的本质详解

一 web框架的本质及自定义web框架 ​ 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,...

python多线程共享变量的使用和效率方法

python多线程可以使任务得到并发执行,但是有时候在执行多次任务的时候,变量出现“意外”。 import threading,time n=0 start=time.time()...

Python简单实现子网掩码转换的方法

本文实例讲述了Python简单实现子网掩码转换的方法。分享给大家供大家参考,具体如下: 这里实现将子网掩码长度转换为具体的子网掩码地址: def exchange_maskint(m...