Я пишу небольшую утилиту Python, которая будет использоваться умеренно нетехническими пользователями и которая должна взаимодействовать с некоторыми протобуфами.
в идеале, я хотел бы, чтобы единственные предпосылки для ее использования нана локальном компьютере:
установлен Python
* have an SVN checkout of the repository
* run a simple bash script to build the local proto .py definitions
* run "python myutility"
У меня проблемы с импортом descriptor_pb2.py, tho.я видел Почему при использовании буферов протокола Google я вижу ошибку "не удается импортировать имя дескриптора_pb2"? , но хотел бы избежать добавления дополнительных предварительных условий для запуска программы установки proto SDK.я изменил скрипт bash, чтобы он также генерировал descriptor_pb2.py в локальной иерархии, который работает для первого уровня импорта из моих других файлов _pb2.py, но похоже, что сам descriptor_pb2.py пытается импортировать descriptor_pb2 не может найтиэто:
$ python myutility.py
Traceback (most recent call last):
File "myutility.py", line 4, in <module>
import protos.myProto_pb2
File "/myPath/protos/myProto_pb2.py", line 8, in <module>
from google.protobuf import descriptor_pb2
File "/myPath/google/protobuf/descriptor_pb2.py", line 8, in <module>
from google.protobuf import descriptor_pb2
ImportError: cannot import name descriptor_pb2
моя локальная папка выглядит так:
* myutility.py
* google/
* protobuf/
* descriptor.py
* descriptor_pb2.py
* protos
* myProto_ob2.py
также я питон n00b, так что возможно я пропускаю что-то очевидное.
tia, orion