Как использовать файлы прототипов в googleapis-common-protos в Python? - PullRequest
0 голосов
/ 20 ноября 2018

Я хочу использовать прото-файлы, которые уже определены в googleapis / api-common-protos в Python.Например,

syntax = "proto3";

package com.example.service.rev0;

import "google/protobuf/any.proto";
import "google/rpc/code.proto";

message GenericExcInfo {

    google.rpc.Code status_code = 1;

    string name = 2;

    string message = 3;

    repeated string stack_trace_entries = 4;

    string code_filename = 5;

    int32 code_lineno = 6;

    string code_name = 7;

    google.protobuf.Any arbitrary_info = 16;
}

Если установлен пакет Python googleapis-common-protos , доступны связанные модули Python (в данном случае google.rpc.code_pb2.Code).Но поскольку никакие прото-файлы не установлены, я получил следующую ошибку:

$ protoc --proto_path=. --python_out=. exc_info.proto
google/rpc/code.proto: File not found.
exc_info.proto: Import "google/rpc/code.proto" was not found or had errors.
exc_info.proto:14:5: "google.rpc.Code" is not defined.

Как использовать эти прото-файлы Google в Python?Нужно ли git clone репо и включать все файлы прото при компиляции?

1 Ответ

0 голосов
/ 20 ноября 2018

решаемая.Я должен клонировать его.

https://github.com/googleapis/api-common-protos#using-these-protos

Если вы используете protoc (или другие подобные инструменты) для самостоятельной компиляции этих прототипов, вам, вероятно, потребуется локальная копия.Клонируйте этот репозиторий в удобное место и используйте --proto_path, чтобы указать корень этого репозитория на вашем компьютере для компилятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...