如何将Python打包成macos .app应用程序?
我有一个用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理解得不够?