Hi! I need create script (python) to build python classes from set of proto files.
I found example here grpc_tools/command.py#L35 <https://github.com/grpc/grpc/blob/5253c8f9a899450397a5e46e4923d01ac9a66a27/tools/distrib/python/grpcio_tools/grpc_tools/command.py#L35> I took the code > from grpc_tools import protoc ... > for file_name in proto_file_names: > file_path = os.path.join(proto_dir, file_name) > check_path_exist(file_path) > proto_files.append(file_path) > > for proto_file in proto_files: > command = [ > 'grpc_tools.protoc', > '--proto_path={}'.format(proto_path), > '--python_out={}'.format(current_directory), > '--grpc_python_out={}'.format(current_directory), > ] + [proto_file] > if protoc.main(command) != 0: > sys.stderr.write('warning: {} failed\n'.format(command)) > and get following errors while run script (I have a lot of such) > google/protobuf/descriptor.proto: File not found. > full/path/to/my/file.proto: Import "google/protobuf/descriptor.proto" was > not found or had errors. > full/path/to/my/file.proto:45:8: "google.protobuf.EnumValueOptions" is not > defined. > full/path/to/my/file.proto: "google.protobuf.EnumValueOptions" is not > defined. > full/path/to/my/file.proto: "google.protobuf.EnumValueOptions" is not > defined. > full/path/to/my/file.proto:51:8: "google.protobuf.EnumOptions" is not > defined. > But when I run command line > python -m grpc_tools.protoc -I../../.. --python_out=. --grpc_python_out=. > path/to/my/files/*.proto > All is ok. There are no any errors. Same issue appears for any single proto file (not full set) containing some imports. I think it somehow related to import paths but I can not find way to fix it. All parameters and current working directory for both (command line and python script) ways are the same. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/9857c352-b4c3-43bd-a862-92f1812c22b7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
