构建Python26.zip以便嵌入式分发的最简单方法是什么?
我正在用Python作为一个现有C++应用程序的插件脚本语言。我已经按照Python文档的说明成功地嵌入了Python解释器,初始化和反初始化都没有问题。不过,我在加载模块时遇到了麻烦,因为我还没能把标准库打包成一个zip文件(通常是PythonXX.zip,XX是Python版本号)。
有没有简单的方法可以在优化字节码编译后,把所有标准库打包成zip文件?我希望能有一个简单的脚本或命令来帮我完成这个工作,因为我真的不想手动去做。
有什么好主意吗?
谢谢!
2 个回答
2
写一个脚本来实现这个功能应该不太难。你可以看看 zipfile.PyZipFile
这个类,以及它的 writepy
方法。
2
我可能会使用 setuptools 来创建一个“蛋”(可以理解为Python的一个打包文件,类似于Java的jar包)。你的 setup.py 文件大概会长这样:
from setuptools import setup, find_packages
setup(
name='python26_stdlib',
package_dir = {'' : '/path/to/python/lib/directory'},
packages = find_packages(),
#any other metadata
)
你可以通过运行 python setup.py bdist_egg
来执行这个操作。一旦你得到了这个“蛋”,你可以把它添加到Python的路径中,或者使用setuptools来安装它。我相信这个过程也会帮你生成pyc文件。
注意:我不建议在系统的Python目录下使用这个。你可能想要为此设置一个 虚拟环境。