7

在我看来,当我在 python 中使用 protobuf 时,我需要先安装它,以便我还安装了 setuptools。对我来说,这似乎严重限制了可移植性,因为我必须在每台我想使用任何类型的 python 代码的机器上安装 protobuf。

所以我的问题是:有没有办法以这样的方式为 python 打包 protobuf,它可以与使用它的 python 代码一起分发?

任何有关此的信息将不胜感激。

4

1 回答 1

3

该包包含一个实验性的 C++ 扩展,安装文件生成 Python 文件,但默认情况下禁用扩展,您应该能够在setup.py build脚本中包含结果。

请注意,Python 包仍然需要安装命令行工具。该工具用于为您生成一些 Python。

一旦可用,运行:

cd python
python setup.py build

并将build/lib/google目录复制到您的脚本分发中,它需要在您的文件sys.path中才能导入。

或者,使用setup.py bdist --formats=zip生成的 zip 文件(位于 中dist/protobuf-<version>.<platform>-<architecture>.zip)的路径并将其添加到您的sys.path. 改名应该没问题。

请注意,包使用命名空间,因此pkg_resources模块也需要可用。它仅用于googlegoogle/__init__.py.

于 2013-03-28T13:21:33.407 回答