如何将Python打包成macos .app应用程序?

4 投票
1 回答
1074 浏览
提问于 2025-04-16 07:13

我有一个用Python写的软件,界面是用PyQt做的。

为了把这个软件打包成一个可执行文件,我会把一个Python和一个预编译的Qt版本一起打包,这个方法在Windows和Linux上都能成功,因为我知道怎么制作安装程序。

现在的问题是,如何把所有东西嵌入到一个Mac的.app文件里。

我用下面的脚本来启动这个软件:

export DYLD_LIBRARY_PATH=`pwd`/lib:$DYLD_LIBRARY_PATH
export DYLD_FRAMEWORK_PATH=`pwd`/Resources
PYTHONPATH=$PYTHONPATH:. bin/python ProgramPy/Main.py

如果我在外部运行这个脚本,它工作得很好,但当我尝试用platypus把所有东西打包成一个应用时,就出现了以下错误:

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /Users/luca/Desktop/TempScript.app/Contents/Resources/bin/python
  Reason: image not found
./run.sh: line 3:   725 Trace/BPT trap          PYTHONPATH=$PYTHONPATH:. bin/python ProgramPy/Main.py

需要注意的是,文件/Users/luca/Desktop/TempScript.app/Contents/Resources/bin/python是Python的可执行版本,实际上它位于应用的Resources文件夹里。我不明白为什么系统找不到它。也许我对Mac如何使用pythonpath理解得不够?

1 个回答

3

我只是使用了 py2app 这个工具。

撰写回答