编译原型文件时,类“ ImageFile”没有“ FromString”成员

时间:2018-12-05 13:59:42

标签: grpc

我是grpc的新手,我已经编写了这个原始文件。

syntax = "proto3";

message ImageFile {
    bytes value = 1;
}

service Edgedetect {
    rpc DetectEdge(ImageFile) returns (ImageFile) {}
}

我设法使用命令在同一目录中编译了pb2和pb2_grpc文件

python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. test.proto

响应反序列化器行中的test_pb2_grpc.py文件出现问题

self.DetectEdge = channel.unary_unary(
    '/Edgedetect/DetectEdge',
    request_serializer=test__pb2.ImageFile.SerializeToString,
    response_deserializer=test__pb2.ImageFile.FromString,
    )

,在另一行中,在ImageFile上调用FromString方法

def add_EdgedetectServicer_to_server(servicer, server):
  rpc_method_handlers = {
      'DetectEdge': grpc.unary_unary_rpc_method_handler(
          servicer.DetectEdge,
          request_deserializer=test__pb2.ImageFile.FromString,
          response_serializer=test__pb2.ImageFile.SerializeToString,
      ),
  }

Class 'ImageFile' has no 'FromString' member

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过执行代码?我个人已经在代码编辑器中看到了此问题,这是由于编辑器无法解析或包含生成的文件。如果您不喜欢编辑器中卡住的错误提示,则重新启动它可以解决此问题。

如果问题仍然存在,请发布更多有关所使用的gRPC版本以及如何重现它的详细信息。