尝试使用Python使用Protobuf序列化Google NLP API响应时出错

2024-07-03 06:15:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的GCP虚拟机上将谷歌NLP API的响应传递给谷歌的Protobuf。我不断得到以下回应:

Traceback (most recent call last):
  File "/app/scrapers_v3/utils/google_nlp.py", line 53, in get_entities_from_text
    element = json_format.MessageToDict(entity)
  File "/usr/local/lib/python3.7/site-packages/google/protobuf/json_format.py", line 168, in MessageToDict
    return printer._MessageToJsonObject(message)
  File "/usr/local/lib/python3.7/site-packages/google/protobuf/json_format.py", line 204, in _MessageToJsonObject
    return self._RegularMessageToJsonObject(message, js)
  File "/usr/local/lib/python3.7/site-packages/google/protobuf/json_format.py", line 240, in _RegularMessageToJsonObject
    js[name] = self._FieldToJsonObject(field, value)
  File "/usr/local/lib/python3.7/site-packages/google/protobuf/json_format.py", line 282, in _FieldToJsonObject
    if field.file.syntax == 'proto3':
AttributeError: 'NoneType' object has no attribute 'syntax'

entity[json_format.MessageToDict(entity) for entity in response.entities]的一个元素

有趣的是,同样的代码在我的本地机器上正常运行

  • 谷歌云语言版本:1.0.2
  • Protobuf版本:3.10.0

Tags: inpyjsonformatlibpackagesusrlocal