python: проблема с импортом протобуф сгенерированных файлов - PullRequest
0 голосов
/ 27 марта 2019

Я тестирую файлы, созданные protobuf для использования с python.Проблема, с которой я сталкиваюсь, заключается в том, что protobuf разделяет сгенерированные файлы python в каталогах, а затем у меня возникают проблемы с импортом с python2.

Скажем, у меня есть каталоги common и a, каждый савтоматически сгенерированные (с помощью protobuf) py-файлы.Если вы посмотрите на один из файлов в a, он имеет импорт, который говорит:

from common import x_pb2 as common_dot_x__pb2

Итак, у меня есть другой скрипт, который я создаю для импорта файла в a,Так что .... если я попытаюсь предоставить родителя (common и a) для PYTHONPATH, я не могу найти способ импортировать скрипт в a:

from a import blah

(blah.py является автоматически сгенерированным файлом py внутри a) Я получаю это:

ImportError: No module named a

Так что ... если я попытаюсь добавить каталог a в PYTHONPATH (и настроить импорт втолько скажите import blah, тогда я начинаю получать проблемы с импортом из обычного (оператор import в автоматически сгенерированном файле blah.py в a):

    from common import x_pb2 as common_dot_x__pb2
ImportError: No module named common

Каким должен быть обходной путь для этого?

1 Ответ

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

ОК ..... есть обходной путь : Во всех каталогах, где находятся автоматически созданные файлы, добавьте пустой файл init .py.Таким образом, импорт начинает себя вести.Кто-нибудь знает более простой способ сделать это?(И нет, я должен видеть, может ли это быть сделано автоматически с помощью protoc или с помощью maven).

...