3

我是一名初级程序员,试图从这个包中安装 Python 协议缓冲区:http ://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.zip

自述文件指出:

1) 确保您拥有 Python 2.4 或更新版本。如果有疑问,请运行:

 $ python -V

2) 如果您没有安装 setuptools,请注意它会在您运行 setup.py 时自动下载并安装。如果您想手动安装它,您可以按照此页面上的说明进行操作:

 http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions

3) 构建 C++ 代码,或安装 protoc 的二进制分发。如果您安装二进制发行版,请确保它与此软件包的版本相同。如果有疑问,请运行:

 $ protoc --version

4)运行测试:

 $ python setup.py test

如果某些测试失败,则此库可能无法在您的系统上正常工作。继续自担风险。

请注意,Cygwin 上的某些 Python 版本存在一个已知问题,这会导致测试在打印错误后失败:“sem_init:资源暂时不可用”。这似乎是 Cygwin 或 Python 中的一个错误: http ://www.cygwin.com/ml/cygwin/2005-07/msg01378.html 我们不知道它是否或何时可以修复。我们也不知道这个错误在实践中影响用户的可能性有多大。

5)安装:

 $ python setup.py install

此步骤可能需要超级用户权限。注意:要使用 C++ 实现,需要安装相同版本的 C++ protobuf 运行时库,并在此步骤之前导出环境变量。有关详细信息,请参阅下面的“C++ 实现”部分。


我已将 python 和 protoc.exe 的 2.4.1 版添加到我的 PATH 中。但是,当我尝试运行测试时,我收到一条错误消息,指出第 38 行的语法无效:

print "Can't find required file " + source

好的,所以它缺少括号。我添加它们,它又遇到两个打印语句语法错误消息。我修复了这些,它在“except”语句中遇到语法错误消息。我究竟做错了什么?

谢谢。

4

2 回答 2

3

也许您正在使用 Python 3?

您引用的代码仅适用于 Python 2.X

于 2012-09-19T18:44:27.347 回答
1

我遵循了相同的步骤,但没有收到任何错误。请确保您获得正确的 Python 和 protoc 版本。

导出环境 LD_LIBRARY_PATH 变量。

于 2017-08-30T10:25:20.680 回答