Класс 'ImageFile' не имеет члена 'FromString' при компиляции файла прото - PullRequest
0 голосов
/ 05 декабря 2018

Я новичок в 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,
    )

и в другой строке, где вызывается метод FromString для ImageFile

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 голосов
/ 17 декабря 2018

Вы пытались выполнить свой код?Я лично видел эту проблему в редакторе кода, и это связано с тем, что редактор не может анализировать или включать сгенерированные файлы.Если вам не нравится застрявшая подсказка об ошибках в вашем редакторе, перезапуск может решить эту проблему.

Если проблема все еще существует, пожалуйста, опубликуйте более подробную информацию о том, какие версии gRPC вы используете, и как воспроизвести ее..

...