Я новичок в 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
Кто-нибудь знает, как решить эту проблему?