在新配置的Anaconda的environment中安装tensorflow时,有时虽然安装成功了,import也能成功,但是一些基本的功能是用不了的。经常报错比如:
AttributeError: module ‘tensorflow’ has no attribute ‘placeholder’
AttributeError: module ‘tensorflow’ has no attribute ‘version’
等等
我一般会用tf.__path__
查看一下tensorflow的安装路径,一般情况是安装在D:/Anaconda3/envs/环境名称/Lib/site-packages/tensorflow
下面,但是报这个错的时候,tf.__path__
显示D:/Anaconda3/Lib/site-packages/tensorflow
也就是解释器找到了主目录下的tensorflow。
尝试删掉主目录下的tensorflow
,用conda list
查看package是用conda安装的还是用pip安装的。分别用命令conda remove 包的名称
和pip uninstall package-name
来删掉。
或者在PYTHONPATH中加入D:/Anaconda3/envs/环境名称/Lib/site-packages/tensorflow
看看解释器能不能找到这里去。
这时还是不行的话,我一般会在env
里面重新安装一遍jupyter notebook
,conda install jupyter notebook
。我的理解是如果环境中没有安装jupyter notebook的话,它会调用主目录下的jupyter,也就调用了主目录下的tensorflow。
或者可以想办法手动在jupyter notebook中添加kernel,因为我们新创建的env可能并不被jupyter识别。
最后还是无效的话,就把env、主目录里的tensorflow全删了,再不行把环境也删了,重新装一遍。