我今天突然遇到这种情况,下面所有的输出都是在相同的环境下。
pip show tensorflow
,输出为:
Name: tensorflow
Version: 1.14.0rc1
但是如果我输入python
python
>>> import tensorflow as tf
>>> print(tf.__version__)
。它给:
'1.13.1'
我确信我在纯终端或IDE中需要的环境下使用相同的python。这很奇怪,因为我以前没有这个问题。这两天我刚刚安装了一些其他的软件包,但我相信它们与tensorflow无关。您还可以通过pip show tensorflow
或pip list
的输出来验证这一点,以查看版本是否为1.14.0rc1
。那么为什么当我实际使用python时,tensorflow没有正确加载?
通过以下方法解决:
(相同环境下)
pip uninstall tensorflow
(为了重新安装tensorflow的正确版本)
pip install tensorflow==1.14.0rc1
注意在安装过程中,有一条来自终端的信息:
Installing collected packages: tensorflow
Attempting uninstall: tensorflow
Found existing installation: tensorflow 1.13.1
Uninstalling tensorflow-1.13.1:
Successfully uninstalled tensorflow-1.13.1
所以看起来tensorflow 1.13.1之前被意外地安装了,每当在python程序import tensorflow
中,在搜索阶段,它在找到1.14.0rc1
版本之前就会击中tensorflow==1.13.1
。虽然pip list
只显示tensorflow==1.14.0rc1
而不显示tensorflow==1.13.1
也可能是由于其内部搜索或重复包解析机制。