使用tensorflow时报错:No module named six解决办法

在安装了anaconda、tensorflow、keras后,运行了一个小的测试程序如下

import tensorflow as tf
hello = tf.constant('Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

结果先报了一个错,上网查了是numpy库的问题,要么降级numpy库,要么改库里的一个函数,我先改了函数,记得是把有几行的参数1改为(1,),运行之后还是报错,没办法了我把numpy库改成了1.16.0版本,再运行没有相关错误了,但又报了新的错,就是标题说的No module named six

看起来很明显是six库找不到,但我在pycharm的设置里发现有这个库,在anaconda虚拟环境下用代码

conda list

也发现有这个库,那这是怎么回事呢。

然后我又查了一会,网上有人说可能是路径的问题,然后我就进了anaconda里这个虚拟环境的文件夹,我电脑里的地址如下

D:\anaconda\envs\tensorflow\Lib\site-packages

在里面我找到了一个叫six-1.16.0.dist-info的文件夹,这显然与six库有关,我判断这个文件夹里存的应该是安装信息,这证明确实安装了six库,但我进入之后却发现没有six.py这个文件,并且这个地址里也没有其它名字上和six库有关的文件夹。

这时问题就清晰了,six.py这个文件它可能被放在错误的地方了,导致调用的时候找不到它。

于是直接在site-packages下查找six.py,结果查找出来这个文件竟然在pip文件夹里存着,也不知道为什么。。但既然找到了,就把它直接移到site-packages文件夹里,这回不怕查不到了。

然后再运行测试程序,正确显示了配置信息和b'Hello,TensorFlow!',ok,问题解决!

你可能感兴趣的:(python,tensorflow,深度学习,神经网络)