在python中使用谷歌的protobuf而不安装它
在我看来,当我在python中使用protobuf时,我需要先安装它,以便我还安装了setuptools。 对我来说,这似乎是严格限制可移植性,因为我将不得不在每台机器上安装protobuf,我希望使用protobuf来使用任何类型的python代码。
所以我的问题是:有没有办法以这种方式打包protobuf for python,以便可以使用Python代码进行分发?
任何有关这方面的信息将不胜感激。
该软件包包含一个实验性的C ++扩展,安装文件生成Python文件,但默认情况下禁用了扩展名,您应该能够在脚本中包含setup.py build
结果。
请注意,Python软件包仍然需要安装命令行工具。 该工具用于为您生成一些Python。
一旦可用,运行:
cd python
python setup.py build
并将build/lib/google
目录复制到脚本分发中,它需要位于sys.path
中才能导入。
或者,使用setup.py bdist --formats=zip
将路径添加到您的sys.path
(位于dist/protobuf-<version>.<platform>-<architecture>.zip
)。 重命名它应该没问题。
请注意,该软件包使用了一个名称空间,因此pkg_resources
模块也需要可用。 它仅用于在google/__init__.py
声明google
名称空间。
上一篇: Using google's protobuf in python without installing it