Невозможно скомпилировать файл прото - PullRequest
0 голосов
/ 09 октября 2018

Я создал файл прото в моем проекте с именем allinone.proto.Я хотел создать сервис с использованием grpc, в котором я могу звонить как клиент.Следуя руководству по этой ссылке , я пытаюсь запустить команду в каталоге моих проектов для компиляции только что созданного файла прото

$ python -m grpc_tools.protoc -I~/projects/All-In-One/models/grpc/ --python_out=. --grpc_python_out=. ~/projects/All-In-One/models/grpc/all_in_one.proto

Код дляфайл протоа

syntax = "proto3"

message ImageRGB {
    bytes content = 1;
}

message BoudingBox {
    int32 x = 1;
    int32 y = 2;
    int32 w = 3;
    int32 h = 4;
}

message Point2D {
    int32 x = 1;
    int32 y = 2;
}

message FaceDetections {
    repeated BoundingBox face_bbox = 1;
}

message FaceLandmarks {
    string landmark_model = 1;
    repeated Point2D point = 2;
}

message FaceLandmarkDescriptions {
    string landmark_model = 1;
    repeated string landmark_description = 2;
    repeated Point2D landmark_avg = 3;
}

message FaceLandmarkModels {
    repeated FaceLandmarkDescriptions model = 1;
}

}

Я получаю сообщение об ошибке

$python -m grpc_tools.protoc -I~/projects/All-In-One/models/grpc/ --python_out=. --grpc_python_out=. ~/projects/All-In-One/models/grpc/all_in_one.proto
~/projects/All-In-One/models/grpc/: warning: directory does not exist.
/home/samuel/projects/All-In-One/models/grpc/all_in_one.proto: File does not reside within any path specified using --proto_path (or -I).  You must specify a --proto_path which encompasses this file.  Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it's harder than you think).

Может кто-нибудь помочь мне понять, почему происходит ошибка?

1 Ответ

0 голосов
/ 10 октября 2018

Извините, мне не разрешено отвечать комментариями.

Полагаю, что когда вы устанавливаете proto_path (-I), вы можете использовать относительный путь на его основе.Можете ли вы попробовать что-то подобное?python -m grpc_tools.protoc -I ~ / projects / All-In-One / models / grpc / --python_out =.--grpc_python_out =.all_in_one.proto

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