如何打包带有外部Python库的Python应用程序?

2 投票
3 回答
715 浏览
提问于 2025-04-16 22:45

我希望我的标题很清楚。我正在使用wxpython来制作一个图形用户界面(GUI),我希望这个程序能够在所有操作系统上打开、提取并正常运行。我找到了一种方法,可以通过在twill压缩包里找到一个叫做twill的文件夹来包含twill,这样做效果很好。不过,我现在还不知道怎么正确地打包wxpython。

补充说明:我没有使用这两种工具。py2exe只适用于Windows,而bbfreeze在Mac上似乎不太好用(所以它不能跨平台)。

3 个回答

0

你试过 这个网站 吗?

1

你可以参考TokenMacGuy的建议。不过我更倾向于使用一个能够在所有操作系统上冻结应用程序的工具,而不是使用不同的工具。cx_freeze在这方面是个不错的选择。

这是另一个很好的替代方案:

PyInstaller是一个可以把Python程序转换成独立可执行文件的程序,适用于Windows、Linux和Mac OS X。它相比其他类似工具的主要优点是:PyInstaller支持从2.2版本开始的任何Python版本,生成的可执行文件更小,因为它使用了透明压缩;它完全支持多平台,并且利用操作系统的支持来加载动态库,从而确保完全兼容。

2

很遗憾,没有一种方法可以让一个可安装的程序在所有操作系统上都能运行。最好的办法是为每个操作系统提供不同的安装程序或可执行文件;对于Windows,可以使用 py2exe,对于Mac,py2app 是个不错的选择,而对于Linux,你可以提供一个压缩包,里面包含一个合理的 setup.py(其实前面提到的两个也需要这个文件)。

撰写回答