首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python protobufs -避免安装步骤?

python protobufs -避免安装步骤?
EN

Stack Overflow用户
提问于 2011-01-11 10:06:21
回答 2查看 2K关注 0票数 1

我正在编写一个小的python实用程序,它将由中等非技术用户使用,并且需要与一些protobufs接口。

理想情况下,我希望在本地计算机上使用它的唯一前提条件是:

安装了python

代码语言:javascript
复制
* 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时遇到了麻烦。我见过Why do I see "cannot import name descriptor_pb2" error when using Google Protocol Buffers?,但希望避免添加运行proto SDK安装程序的额外前提条件。我已经修改了bash脚本,以便在本地层次结构中生成descriptor_pb2.py,这适用于从其他_pb2.py文件导入的第一级,但看起来descriptor_pb2.py本身试图导入descriptor_pb2找不到它:

代码语言:javascript
复制
    $ 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

我的本地文件夹如下所示:

代码语言:javascript
复制
* myutility.py
* google/
  * protobuf/
    * descriptor.py
    * descriptor_pb2.py
* protos
  * myProto_ob2.py

另外,我是一名python n00b,所以我可能忽略了一些显而易见的东西。

tia,猎户座

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-12 05:49:35

在descriptor_pb2.py中注释掉descriptor_pb2.py的导入本身解决了我的问题。感谢tim mcclarren的建议!

票数 0
EN

Stack Overflow用户

发布于 2011-01-11 10:37:19

google/protobuf目录中是否存在文件__ init __.py?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4653494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档