Почему при использовании буферов протокола Google возникает ошибка «Не удается импортировать имя дескриптора_pb2»?
При использовании сгенерированного кода Python из наших классов protobuf мы получаем эту ошибку:
cannot import name descriptor_pb2
Эквивалентный сгенерированный код C ++ работает просто отлично, поэтому может показаться, что с нашими фактическими определениями протоколов проблем нет.
Эта ошибка возникает, когда я пытаюсь импортировать наш класс, вот так:
import sys
sys.path.append('..\path\to\generated')
sys.path.append('..\contrib\protobuf\python')
from foobar_pb2 import FooBar
Правильно ли добавлять системные пути?
Я проверил вprotobuf\python\google\protobuf
каталог дляdescriptor_pb2.py
но только нашелdescriptor.py
- мы используем последнюю версию, поэтому я предполагаю, что у нас нет пропавших файлов.
Кто-нибудь знает, что решение?