我正在尝试从 python 脚本(使用大量鸡蛋)构建可执行文件(用于 32 位 windows xp)
我考虑过 py2exe(0.6.9)、PyInstaller (1.4) 和 cx_Freeze (4.1.2)
PyInstaller 不喜欢 python 2.6 午餐)
所以我选择了 cx_Freeze (应该从 4.0 开始无缝支持鸡蛋)。但由于某种原因它没有。
为了识别鸡蛋内的文件,我传递了哪些参数?
我正在尝试从 python 脚本(使用大量鸡蛋)构建可执行文件(用于 32 位 windows xp)
我考虑过 py2exe(0.6.9)、PyInstaller (1.4) 和 cx_Freeze (4.1.2)
PyInstaller 不喜欢 python 2.6 午餐)
所以我选择了 cx_Freeze (应该从 4.0 开始无缝支持鸡蛋)。但由于某种原因它没有。
为了识别鸡蛋内的文件,我传递了哪些参数?
在你的源目录中解压你的 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])
您可以尝试在您提供的页面中链接的 PyInstaller 的 2.6 分支。