Grpc_tools.protoc компиляция grpc с версией = 2023 не удаласьPython

Программы на Python
Ответить
Anonymous
 Grpc_tools.protoc компиляция grpc с версией = 2023 не удалась

Сообщение Anonymous »

Я использую протокол версии 28.3 на MacOS:

Код: Выделить всё

> protoc --version
libprotoc 28.3
Эта версия может генерировать gRPC для typescript, go и C++ с помощью соответствующих плагинов.
Она также может генерировать простой protobuf:

Код: Выделить всё

> protoc --experimental_editions -I src/proto3 --python_out=./src/generated/python/revepb src/proto3/*.proto
>
Однако, когда я пытаюсь сгенерировать grpc, это не удается:

Код: Выделить всё

> uv run python3 -m grpc_tools.protoc --experimental_editions -I src/proto3 --python_out=./src/generated/python/revepb src/proto3/*.proto
basetypes.generated.proto: is an editions file, but code generator --python_out hasn't been updated to support editions yet.  Please ask the owner of this code generator to add support or switch back to proto2/proto3.
Это не имеет смысла, потому что --python_out хорошо работает изолированно.
Наиболее близкое, что я могу придумать, это то, что grpc_tools может включать свой собственный вариант protoc, И этот инструмент не обновлялся около двух лет.
Вот версии:

Код: Выделить всё

+ grpcio==1.67.1
+ grpcio-tools==1.67.1
+ protobuf==5.28.3
+ setuptools==75.5.0
1.67.1 — последняя выпущенная версия от 28 октября 2024 г.
Что еще я могу проверить в зависимости от версии?
Я предполагаю, возможно, ошибочно, что «использовать grpc с выпусками в Python» — это общепринятая вещь, от которой я должен ожидать работы, учитывая, что Python является основным языком внутри Google. - это предположение неверно?
Что еще я могу сделать, чтобы это сработало?

Подробнее здесь: https://stackoverflow.com/questions/791 ... 2023-fails
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»