Я создал файл прото-файла RpcCmd.proto и определил одно поле с типом google.protobuf.Any
, когда я попытался сгенерировать объектный файл Python3 с помощью cmd protoc --python3_out=./gen RpcCmd.proto
, он завершился ошибкой
Traceback (most recent call last):
File "/usr/local/bin/protoc-gen-python3", line 36, in <module>
compiler = Compiler(desc_map[file_name], top_level_elements)
File "/usr/local/lib/python3.7/site-packages/protobuf3/compiler/__init__.py", line 54, in __init__
self.process_message(message)
File "/usr/local/lib/python3.7/site-packages/protobuf3/compiler/__init__.py", line 104, in process_message
self.process_field(message.name, field, embedded)
File "/usr/local/lib/python3.7/site-packages/protobuf3/compiler/__init__.py", line 148, in process_field
file_to_import = splitext(self.__tle_map[top_level_name])[0].replace('/', '.')
KeyError: 'google'
--python3_out: protoc-gen-python3: Plugin failed with status code 1.
Но, если я набрал с помощью cmd protoc --python_out=. RpcCmd.proto
это удалось
Я также попытался --java_out
работал без ошибок.
syntax = "proto3";
import "google/protobuf/any.proto";
message RpcCmd {
google.protobuf.Any message = 1;
string randomKey = 2;
}
Можно ли использовать тип Any
с --python3_out