在我看来,当我在 python 中使用 protobuf 时,我需要先安装它,以便我还安装了 setuptools。对我来说,这似乎严重限制了可移植性,因为我必须在每台我想使用任何类型的 python 代码的机器上安装 protobuf。
所以我的问题是:有没有办法以这样的方式为 python 打包 protobuf,它可以与使用它的 python 代码一起分发?
任何有关此的信息将不胜感激。
在我看来,当我在 python 中使用 protobuf 时,我需要先安装它,以便我还安装了 setuptools。对我来说,这似乎严重限制了可移植性,因为我必须在每台我想使用任何类型的 python 代码的机器上安装 protobuf。
所以我的问题是:有没有办法以这样的方式为 python 打包 protobuf,它可以与使用它的 python 代码一起分发?
任何有关此的信息将不胜感激。
该包包含一个实验性的 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
模块也需要可用。它仅用于google
在google/__init__.py
.