Моя структура каталогов выглядит следующим образом:
root/
sift/
__init__.py
sift_descriptors.proto
sift_descriptors_pb2.py
project/
__init__.py
filtered_descriptors.proto
filtered_descriptors_pb2.py
filtered_descriptors_test.py
Корневой каталог находится в моем $PYTHONPATH
.
Я строю root/sift/sift_descriptors_pb2.py
, используя protoc --python_out=./ sift_descriptors.proto
Я строю root/project/filtered_descriptors_pb2.py
, используя /cs/public/lib/pkg/protobuf/bin/protoc --proto_path=../sift --proto_path=./ --python_out=./ filtered_descriptors.proto
В filtered_descriptors.proto
я использую import "sift_descriptors.proto"
Проблема заключается в том, что в filtered_descriptors_pb2.py
(создан протоколом) есть утверждение, чтопросто выполняет этот простой импорт: import sift_descriptors_pb2
, без ссылки через имя модуля, как было бы необходимо: from sift import sift_descriptors_pb2
.
Что я делаю не так?