Staram się skompilować pliki .proto, aby wygenerować stuby GRPC w Pythonie.

Mój obecny katalog roboczy jest ./predictor. Mam plik symulatora.proto w folderze ./proto.

Readme dla projektu, nad którym pracuję, mówi, że powinienem uciekać

protoc -I ../proto/ --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_python_plugin` ../proto/simulator.proto

To się nie powiedzie i daje mi

: program not found or is not executable
--grpc_out: protoc-gen-grpc: Plugin failed with status code 1.

Wypróbuję go z python -m grpc_tools.protoc ... i nadal nie działa. Mam dwukrotnie sprawdzony, że mam zainstalowany GRPC, ponownie zainstalowałem go z PIP, a także Git Clone'd folderu GRPC i zbudowany ze źródła. Nie jestem pewien, co jeszcze zrobić. Czy ktoś ma pomysł?

0
Saagar 19 październik 2020, 22:29

1 odpowiedź

Najlepsza odpowiedź

Nie możesz (łatwo!?) Użyj protoc dla Pythona i są najlepiej umieszczone za pomocą modułu, jak opisujesz.

Polecenie powinno być podobne do:

python \
-m grpc_tools.protoc \
--proto_path=../proto \
--python_out=. \
--grpc_python_out=. \
../proto/*.proto

Zakładając, że masz katalog nadrzędny o nazwie proto zawierający co najmniej jeden plik {x1}} i uruchomisz to polecenie z python:

.
├── protos
│   └── x.proto
└── python
    ├── x_pb2_grpc.py
    └── x_pb2.py

Jakie błędy otrzymujesz podczas korzystania z modułu?

0
DazWilkin 19 październik 2020, 20:30