首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >“import tensorflow”之后的python中出错: TypeError:__init__()获取了意外的关键字参数“语法”

“import tensorflow”之后的python中出错: TypeError:__init__()获取了意外的关键字参数“语法”
EN

Stack Overflow用户
提问于 2015-11-10 12:24:02
回答 3查看 47.6K关注 0票数 38

我按照说明在我的Ubuntu15.10机器上安装了TensorFlow:

代码语言:javascript
复制
$ pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.5.0-cp27-none-linux_x86_64.whl

然后,当我运行Python REPL并导入tensorflow时,我得到:

代码语言:javascript
复制
$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
   from tensorflow.python import *
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 13, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/core/framework/graph_pb2.py", line 16, in <module>
    from tensorflow.core.framework import attr_value_pb2 as     tensorflow_dot_core_dot_framework_dot_attr__value__pb2
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/core/framework/attr_value_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
  File "/home/phil/.local/lib/python2.7/site-packages/tensorflow/core/framework/tensor_shape_pb2.py", line 22, in <module>
    serialized_pb=_b('\n,tensorflow/core/framework/tensor_shape.proto \x12\ntensorflow\"d\n\x10TensorShapeProto\x12-\n\x03\x64im\x18\x02 \x03(\x0b\x32 .tensorflow.TensorShapeProto.Dim\x1a!\n\x03\x44im\x12\x0c\n\x04size\x18\x01 \x01(\x03\x12\x0c\n\x04name\x18\x02 \x01(\tb\x06proto3')
TypeError: __init__() got an unexpected keyword argument 'syntax'

我已经安装了Ubuntu协议编译器包,它的版本是2.6.1-1.2

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-11-10 13:17:50

一些用户报告了在安装较旧版本的protobuf时出现的问题。

TensorFlow需要(并使用) protobuf-3.0.0a4的副本。但是,它似乎与您安装的版本冲突(可能是由于PYTHONPATH环境变量在系统上的配置方式?)。您是否可以尝试卸载python-protobuf软件包(如果已安装),然后查看TensorFlow是否正确启动?

一些用户在使用virtualenv时已经取得了成功。有关在virtualenv中安装TensorFlow的说明,请参阅the getting started guide

票数 45
EN

Stack Overflow用户

发布于 2015-11-11 03:57:27

这个github comment解决了我的问题。

简而言之,您需要安装protobuf>=3.0才能使tensorflow工作。

首先卸载您拥有的任何protobuf,然后卸载pip install 'protobuf>=3.0.0a3'

这不仅仅是Ubuntu的问题,Mac OS也有类似的问题。

票数 29
EN

Stack Overflow用户

发布于 2015-12-02 18:31:13

这对我来说很有效:

代码语言:javascript
复制
pip uninstall protobuf
pip uninstall tensorflow
brew uninstall protobuf
pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl

import google.protobuf
>>> print google.protobuf.__version__
3.0.0a4
>>> import tensorflow
票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33622842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档