Ошибка GRPC: параметр MergeFrom() должен быть экземпляром того же класса

Я видел все предыдущие вопросы об этом, но, похоже, с моей стороны ничего не работает. Я пытаюсь запустить тест, в котором используется файл, сгенерированный protobuf, с именем «resource_pb2». Я использую Python 3.8 с grpc 1.33.2 и protobuf версии 3.14.

При использовании класса из этого файла, сгенерированного protobuf, мой тест завершается со следующей ошибкой:

Parameter to MergeFrom() must be instance of same class: expected RecognitionResource got RecognitionResource

Я проверил тип и идентификатор всех классов ресурсов распознавания, вызываемых в этом конкретном тесте, и получил следующее:

<class 'resource_pb2.RecognitionResource'> 2069160783760
<class 'resource_pb2.RecognitionResource'> 2069160783760
<class 'resource_pb2.RecognitionResource'> 2069160783760

Очевидно, что все они вызываются из одного и того же источника, так почему возникает эта проблема?


person user_314    schedule 23.11.2020    source источник


Ответы (1)


У меня была аналогичная проблема, и причина заключалась в том, что я допустил ошибку при передаче параметров в функцию. Проблема была решена, когда я понял о своей ошибке и правильно вызвал функцию с правильно установленными всеми необходимыми параметрами. Надеюсь, поможет.

person Claudia_    schedule 08.12.2020