3

我正在尝试从 python 脚本(使用大量鸡蛋)构建可执行文件(用于 32 位 windows xp)

我考虑过 py2exe(0.6.9)、PyInstaller (1.4) 和 cx_Freeze (4.1.2)

py2exe不喜欢早餐吃鸡蛋

PyInstaller 不喜欢 python 2.6 午餐

所以我选择了 cx_Freeze (应该从 4.0 开始无缝支持鸡蛋)。但由于某种原因它没有。

为了识别鸡蛋内的文件,我传递了哪些参数?

4

2 回答 2

3

在你的源目录中解压你的 egg 模块并添加package: [dependencies,]到你的 setup.py 中。按照py2Exe Docs中的 py2exe 文档,我做了这个你在源代码中运行最多的脚本python unpackEgg.py eggsmodule

    import os
    import pkg_resources
    import sys
    from setuptools.archive_util import unpack_archive

    def unpackEgg(modulo):
        eggs = pkg_resources.require(modulo)
        for egg in eggs:
            if os.path.isdir(egg.location):
                sys.path.insert(0, egg.location)
                continue
            unpack_archive(egg.location, ".")
        eggpacks = set()
        eggspth = open("./eggs.pth", "w")
        for egg in eggs:
            print egg
            eggspth.write(os.path.basename(egg.location))
            eggspth.write("\n")
            eggpacks.update(egg.get_metadata_lines("top_level.txt"))
        eggspth.close()

        eggpacks.clear()


    if __name__ == '__main__':
    unpackEgg(sys.argv[1])
于 2013-05-11T21:34:01.817 回答
0

您可以尝试在您提供的页面中链接的 PyInstaller 的 2.6 分支。

于 2010-04-14T23:37:41.223 回答