导入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查看FTP是否能连接成功的方法

本文实例讲述了python查看FTP是否能连接成功的方法。分享给大家供大家参考。具体如下: #!/usr/local/bin/python #-*- coding: UTF-8 -*...

Python中字典的基本知识初步介绍

 字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型。字典包括键对(称为项目)及其相应的值。 Python字典也被称为关联数组或哈希表。字典的...

Django中间件工作流程及写法实例代码

Django中间件工作流程及写法实例代码

熟悉web开发的同学对hook钩子肯定不陌生,通过钩子可以方便的实现一些触发和回调,并且做一些过滤和拦截。 django中的中间件(middleware)就是类似钩子的一种存在。下面我们...

在Python中使用Neo4j的方法

在Python中使用Neo4j的方法

Neo4j是面向对象基于Java的 ,被设计为一个建立在Java之上、可以直接嵌入应用的数据存储。此后,其他语言和平台的支持被引入,Neo4j社区获得持续增长,获得了越来越多的技术支持者...

Python使用numpy模块创建数组操作示例

本文实例讲述了Python使用numpy模块创建数组操作。分享给大家供大家参考,具体如下: 创建数组 创建ndarray 创建数组最简单的方法就是使用array函数。它接收一切序列型的对...