为嵌入式发行版构建Python26.zip的最简单方法是什么?

时间:2009-04-25 19:48:00

标签: c++ python distribution embedded-language

我使用Python作为现有C ++应用程序的插件脚本语言。我能够嵌入python解释器,如Python文档中所述。一切都可以通过解释器的初始化和解除初始化来成功运行。但是,我在加载模块时遇到问题,因为我无法将标准库压缩成zip文件(通常是PythonXX.zip,对应于python dll的版本号)。

在优化的字节码编译后压缩所有标准库的最简单方法是什么?我正在寻找一个简单的脚本或命令来为我这样做,因为我真的不想手动这样做。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

为此编写脚本应该不会太难。查看zipfile.PyZipFile课程及其writepy方法。

答案 1 :(得分:2)

我可能会使用setuptools创建一个egg(基本上是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安装它。我相信这也应该为你生成pycs。

注意:我不会在我的系统python目录中使用它。您可能需要为此设置virtualenv