Python cx_Freeze蛋问题

3
2个回答

3

将您的eggs模块解压到源目录中,并在setup.py中添加package: [dependencies,]。 按照py2exe文档中py2Exe Docs的说明,我编写了一个脚本,您需要在源代码中执行以下命令: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])

太棒了!这也适用于cx freeze和Python 3.3,只需将print egg更改为print(egg)即可。 - Will Munn

0
你可以尝试使用页面中提供的PyInstaller 2.6分支。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接