Python 从源代码构建的Tensorflow pip在';导入tensorflow';

Python 从源代码构建的Tensorflow pip在';导入tensorflow';,python,python-2.7,tensorflow,Python,Python 2.7,Tensorflow,在Ubuntu 15.10、Cuda 7.5、cudnn 4.0和python 2.7上从源代码构建tensorflow 0.7。Bazel构建和pip包生成正常。pip安装正常。Python脚本“导入tensorflow”失败: 回溯(最近一次呼叫最后一次): 文件“/home/keith/Desktop/tf1.py”,第8行,在 导入tensorflow作为tf 文件“/usr/local/lib/python2.7/dist packages/tensorflow/_init__.py”

在Ubuntu 15.10、Cuda 7.5、cudnn 4.0和python 2.7上从源代码构建tensorflow 0.7。Bazel构建和pip包生成正常。pip安装正常。Python脚本“导入tensorflow”失败:

回溯(最近一次呼叫最后一次):
文件“/home/keith/Desktop/tf1.py”,第8行,在
导入tensorflow作为tf
文件“/usr/local/lib/python2.7/dist packages/tensorflow/_init__.py”,第23行,在
从tensorflow.python导入*
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/_init__.py”,第35行,在
从tensorflow.core.framework.graph_pb2导入*
文件“/usr/local/lib/python2.7/dist packages/tensorflow/core/framework/graph_pb2.py”,第16行,在
从tensorflow.core.framework导入属性值pb2作为tensorflow\u dot\u core\u dot\u framework\u dot\u属性值pb2
文件“/usr/local/lib/python2.7/dist packages/tensorflow/core/framework/attr_value_pb2.py”,第16行,在
从tensorflow.core.framework将tensor_pb2导入为tensorflow_dot_core_dot_framework_dot_tensor_pb2
文件“/usr/local/lib/python2.7/dist packages/tensorflow/core/framework/tensor_pb2.py”,第16行,在
从tensorflow.core.framework导入tensor_shape_pb2作为tensorflow_dot_core_dot_framework_dot_tensor_shape_pb2
文件“/usr/local/lib/python2.7/dist packages/tensorflow/core/framework/tensor\u shape\u pb2.py”,第22行,在
序列化的\u pb=\u b('\n,tensorflow/core/framework/tensorflow\u shape.proto\x12\ntensorflow\'z\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02\x03(\x0b\x32.tensorflow.TensorShapeProto.Dim\x12\x14\n\x03\x0c\x01\x01\x01\x01\x08\x18\x03\x01\x01\x01\x01\x01\x01\x01(\tB/\n\x18org.tensorflow.frameworkB\x11TensorShapeProtosP\x01\x62\x06proto3')
TypeError:\uuuu init\uuuuuuuuu()获取了意外的关键字参数“syntax”
有什么想法吗?
谢谢

这看起来确实像protobuf库版本控制错误。这里有一个关于类似问题的长线程:
最后,有一些建议的解决方案可能会有所帮助。

通过使用optirun运行python,我成功地在manjaro linux笔记本电脑上使用cuda加速运行了TensorFlow 0.7:

$optirun python

但是,我在protobuf上遇到了问题,我不得不用pip卸载/重新安装protobuf和tensorflow的早期版本。

这是因为protobuf版本冲突: 对我来说,我从apt get软件包管理器安装了python protobuf v2.6.1 在安装tensorflow时,它从pip manager安装了protobuf v3.3.0

所以我卸载了这两个:

sudo pip uninstall protobuf
sudo apt-get remove python-protobuf
使用pip重新安装,解决了问题

sudo pip install protobuf

希望这能有所帮助。

只是一个猜测:也许您已经安装了一个旧版本的protobuf?也许可以尝试使用“-U”安装pip,看看它是否有所不同
sudo pip install protobuf