He escrito un script Python (GUI) que requiere un archivo externo y un módulo (en una carpeta). Para empaquetar este script para distribuirlo a otros, estoy usando la siguiente estructura de archivos de aplicación:
└── Contents
├── Info.plist
└── MacOS
├── colors.py
├── MainScript.py
└── <module>
├── <module files>
Info.plist tiene este aspecto:
<!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 comienza con #!/usr/bin/env python3
y se hizo ejecutable con chmod +x
.
Cuando hago doble clic en el .app, aparece momentáneamente en el dock y luego desaparece. La parte extraña es que open MyApp.app
funciona correctamente cuando está en la carpeta adjunta (así como ./MainScript.py cuando está en la carpeta MacOS). ¿Qué estoy haciendo mal?