Ho scritto uno script Python (GUI) che richiede un file esterno e un modulo (in una cartella). Per impacchettare questo script per distribuirlo ad altri, sto usando la seguente struttura di file dell'applicazione:
└── Contents
├── Info.plist
└── MacOS
├── colors.py
├── MainScript.py
└── <module>
├── <module files>
Info.plist ha il seguente aspetto:
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>MainScript.py</string>
</dict>
</plist>
MainScript.py inizia con #!/usr/bin/env python3
ed è stato reso eseguibile con chmod +x
.
Quando faccio doppio clic su .app, appare momentaneamente nel dock e quindi scompare. La parte strana è che open MyApp.app
funziona correttamente quando si trova nella cartella allegata (come pure ./MainScript.py nella cartella MacOS). Cosa sto sbagliando?