【发布时间】:2009-11-12 09:07:15
【问题描述】:
据我了解,py2exe 只能动态链接 python2x.dll 文件。是否有任何 Python “编译器”可以将它们全部打包到一个独立的 .exe 文件中以便于移植?
如果是或者如果不是,z0mg哪个是最好的编译器!
【问题讨论】:
标签: python dll compilation py2exe
据我了解,py2exe 只能动态链接 python2x.dll 文件。是否有任何 Python “编译器”可以将它们全部打包到一个独立的 .exe 文件中以便于移植?
如果是或者如果不是,z0mg哪个是最好的编译器!
【问题讨论】:
标签: python dll compilation py2exe
如果您检查 py2exe SingleFileExecutable wiki page 的底部,您会发现它可以创建单文件可执行文件。它们确实包含 DLL,但您不应该注意到这一点。我相信它适用于拦截 LoadLibrary 调用以允许它们从 .exe 文件中的其他位置读取的怪异黑客,但同样你不应该注意到这一点。我们以前用过它……它有效。
【讨论】:
PyInstaller 声称能够创建用户友好的单一可执行文件。也许这会满足您的需求。我没用过。
【讨论】:
py2exe 可以将它全部打包在一个可执行文件中,不需要在目标系统上安装任何 python,它可能包含 python2x.dll,但对于最终用户来说有什么关系
【讨论】:
据我了解,可以将 python 静态链接到可执行文件中,但随后您将无法加载其他动态模块(.pyd 文件),例如 os 和 zlib 和 math。除非您能够将它们静态编译到您的主程序中。
据我所知,唯一可以做到这一点的编译器是从源代码编译 python 的 C 编译器。 :)
我不确定它是否值得付出努力。 最好只使用 p2exe 并创建一个可以压缩和传送的文件目录。
【讨论】: