在python中使用google的protobuf而不安装它

Cor*_*ius 7 python protocol-buffers

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

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

任何关于此的信息将不胜感激.

Mar*_*ers 3

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

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

一旦可用,运行:

cd python
python setup.py build
Run Code Online (Sandbox Code Playgroud)

并将build/lib/google目录复制到您的脚本发行版中,您需要将其sys.path导入。

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

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