Когда я пытаюсь сгенерировать файлы для protobuf, я получаю ошибку ModuleNotFoundError - PullRequest
0 голосов
/ 26 декабря 2018

Когда я пытаюсь сгенерировать файлы с помощью команды

python -m grpc_tools.protoc -I./ --python_out=. --grpc_python_out=. service.proto

, я получаю сообщение об ошибке.

Traceback:
test_client.py:11: in <module>
    from tests.remote.grpc_wrapper.service_pb2_grpc import TestServiceServicer, add_TestServiceServicer_to_server, \
service_pb2_grpc.py:4: in <module>
    import service_pb2 as service__pb2
E   ModuleNotFoundError: No module named 'service_pb2'

Как это исправить?Я действительно переустанавливаю protobuf, но это мне не помогает.

pip uninstall protobuf
pip install -U protobuf

PS Я использую conda, я использую

conda install protobuf

, но мне это тоже не помогает.

enter image description here

1 Ответ

0 голосов
/ 20 марта 2019

Говорят об указании этого в момент генерации в файле .proto в эта проблема .Насколько я знаю, у вас есть два варианта:

1) Измените строку 4, чтобы иметь . впереди (это означает относительный импорт):

from . import service_pb2 as service__pb2

2) Изменитьфайл __init__.py в папке «grpc_wrapper» включает в себя:

import os
import sys
sys.path.insert(0, os.path.abspath(os.path.dirname(__file__)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...