2017-01-17 4 views
6

Я попытался несколько способов встраивать модуль Python grpcio в мой проект Bazel, но, к сожалению, ни один из них не работает правильно.Вставить модуль grpcio Python в проект Bazel

Насколько я знаю, Bazel не поддерживает инъекцию плагинов в среду Python (так что вы можете напрямую запускать import grpcio). Обратите внимание: Bazel не поддерживает виртуальные и другие инструменты (buildout ...).

Я нашел способ включить пакеты Pypi благодаря this proof of concept, но, к сожалению, он не работает для grpc.io (отсутствуют переменные окружения).

Я пытаюсь отладить плагин, но мне интересно, есть ли лучший способ включить модуль grpcio, поскольку код основан на Bazel?

+0

не удается установить с помощью 'пункта установить grpcio' так что«глобально»доступны как предложено здесь https://github.com/pubref/rules_protobuf/ вопросы/29? В вашем случае нет жизнеспособного варианта? Кроме того, вы должны 'imoprt grpc', а не' import grpcio' ... правильно? Но я уверен, что вы уже это сделали ... – fedepad

+0

Yup. В некотором контексте: я работаю над проектом, включающим несколько технологий/языков. Мы используем Bazel как наш инструмент test/build/run. Поскольку Bazel поддерживает Python, я хотел бы сделать модуль Python полностью основанным на Bazel. Я добился поддержки некоторого модуля Pypi, но не grpcio, из-за компиляции компиляции и требований к ее библиотеке ... – FunkySayu

+0

[Мы намерены начать работу над официальным строительством gRPC Python с Bazel очень скоро, но пока не имеем хорошей оценки того, как долго это займет] (https://github.com/grpc/grpc/issues/8079). –

ответ

1

Как упоминал Натаниэль в комментариях, поддержка bGel для gRPC Python все еще продолжается.

Однако, pubref https://github.com/pubref/rules_protobuf предлагает правила для bazel, которые поддерживают gRPC для всех языков (включая Python). Я использовал их для Java, и они работали очень хорошо.

Существует также блог КПГР сообщение об этих правилах: http://www.grpc.io/blog/bazel_rules_protobuf