这是我到目前为止发现的。升级protobuf会导致以下结果:
$ pip3 install --upgrade protobuf
Collecting protobuf
Using cached https://files.pythonhosted.org/packages/18/e7/785830a65d1f1faba7dccfa8314f7afded1db8cc2860218226ba4b3f6150/protobuf-3.6.1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Requirement already satisfied, skipping upgrade: setuptools in /usr/local/lib/python3.7/site-packages (from protobuf) (40.5.0)
Requirement already satisfied, skipping upgrade: six>=1.9 in /usr/local/lib/python3.7/site-packages (from protobuf) (1.11.0)
tensorflow 0.12.0 has requirement protobuf==3.1.0, but you'll have protobuf 3.6.1 which is incompatible.
Installing collected packages: protobuf
Found existing installation: protobuf 3.1.0
Uninstalling protobuf-3.1.0:
Successfully uninstalled protobuf-3.1.0
Successfully installed protobuf-3.6.1
简而言之:tensorflow 0.12.0 has requirement protobuf==3.1.0
。
为什么需要最新的tensorflow版本和旧的protobuf版本?
但这甚至更奇怪:
$ pip3 install --upgrade tensorflow
...
tensorboard 1.12.0 has requirement protobuf>=3.4.0
我的结论正确吗? tensorflow和tensorboard需要不同版本的protobuf吗?怎么样?我错过了什么?
我发现了一个类似的错误,但我并不完全理解。 Mac操作系统和cpython附带的内容。链接发布:https://github.com/google/or-tools/issues/681
我使用macOS,并且已经在Homebrew中安装了python。
安装旧版python版本对我有帮助吗?
我正在寻找解释和解决方案。 谢谢
答案 0 :(得分:0)
结果证明Tensorflow不支持最新版本的python。 Pip无法找到适用于python 3.7的Tensorflow的最新版本。