python protobufs - избежать шага установки? - PullRequest
1 голос
/ 11 января 2011

Я пишу небольшую утилиту 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

Ответы [ 2 ]

0 голосов
/ 12 января 2011

комментирование импорта descriptor_pb2.py в самом descriptor_pb2.py решило мою проблему.спасибо Тиму Макларрену за предложение!

0 голосов
/ 11 января 2011

Существует ли файл __ init __.py в каталоге google / protobuf?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...