我试图在带有python绑定的windows中使用google协议缓冲区,但是我在安装步骤中遇到了一些问题。
按照说明操作,我必须自己使用vs编译PB,但是我的机器上没有安装vs,然后我在download页面找到了一个窗口二进制文件。
我也下载完整的source code package,然后将protoc-2.5.0-win32.zip\protoc.exe
添加到C:\windows\system32
。
然后我转到protobuf-2.5.0.zip\python
并运行python setup.py install
来安装python绑定。
但是我得到这样的错误:
当我检查目录时,文件google\protobuf\compiler
不存在。
问题是什么?
是否可以在不编译的情况下使用它?
答案 0 :(得分:2)
我只是遇到了同样的问题。解决方案是明确地执行构建步骤。
python setup.py build
python setup.py install
这对我有用。
答案 1 :(得分:2)
在Windows上安装此软件包之前,您需要下载编译器(protoc.exe)并将其放在环境执行路径中。
完成此步骤后,您可以运行:
python setup.py build
python setup.py install
〜YY
答案 2 :(得分:0)
C:\Users\dev3\protobufcode\protobuf-master\python
$ python setup.py build
$ python setup.py install
C:\Users\dev3\protobufcode
$ python --version
Python 3.6.5
$ python -i build\gen\addressbook_pb2.py
>>> import addressbook_pb2
>>> Person = addressbook_pb2.Person()
>>> person = addressbook_pb2.Person()
>>> person.id = 1234
>>> person.name = "Go Fish"
>>> person.email = "gofish@example.com"
>>> phone = person.phones.add()
>>> phone.number = "111-2222"
>>> phone.type = addressbook_pb2.Person.HOME
>>> person
name: "Go Fish"
id: 1234
email: "gofish@example.com"
phones {
number: "111-2222"
type: HOME
}
>>>