Двойной щелчок на пакете приложения OS X, собранном с помощью pyinstaller, не открывает приложение, но работает исполняемый файл из пакета. В чем дело?
Когда я пытаюсь собрать это приложение на OS X с помощью pyinstaller, комплект приложений не работает.
Двойной щелчок на связке из поиска ничего не делает.
Версия ОС: OS X High Sierra 10.13.6
питон: 3.6.3
pyinstaller: 3.3.1 (также пробовал 3.4.dev0+380ab20f8)
Я построил приложение следующим образом: pyinstaller --windowed mindfulness-at-the-computer-macos.spec
При поиске ответов я обнаружил (среди прочего) следующие посты, но они не сильно помогли
- Приложение PyInstaller OS X запускается из командной строки, но не из окна Finder
- Пакет приложений MacOS X, собранный из pyinstaller, работает неправильно
Чтобы убедиться, что проблема не в нашем коде, я попытался создать простой пример, описанный в этом документе (прокрутите код до конца):
https://pythonhosted.org/PyInstaller/runtime-information.html
Это та же проблема.
Я построил это так: pyinstaller -w directories.py
Когда я запускаю его с Python, я получаю это:
python directories.py
we are not frozen
bundle dir is /Users/marieke/myprojects/test
sys.argv[0] is directories.py
sys.executable is /Users/marieke/myprojects/test/venv/bin/python
os.getcwd is /Users/marieke/myprojects/test
Когда я запускаю его в терминале из /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS
./directories
we are ever so frozen
bundle dir is /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS
sys.argv[0] is ./directories
sys.executable is /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS/directories
os.getcwd is /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS
Когда я запускаю его в поисковике из /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS
/Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS/directories ; exit;
we are ever so frozen
bundle dir is /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS
sys.argv[0] is /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS/directories
sys.executable is /Users/marieke/myprojects/test/dist/directories.app/Contents/MacOS/directories
os.getcwd is /Users/marieke
Когда я дважды щелкаю по пакету, он не запускается. Когда я бегу open -a directories.app
из терминала он тоже не запускается.
В консольном приложении я вижу только сообщение launchservicesd CHECKIN:0x0-0x97097 5878 directories
, Ничего больше.
Права доступа к двоичному файлу: -rwxr-xr-x@
Info.plist
Файл выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<!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>CFBundleDisplayName</key>
<string>directories</string>
<key>CFBundleName</key>
<string>directories</string>
<key>CFBundleIdentifier</key>
<string>directories</string>
<key>CFBundleExecutable</key>
<string>MacOS/directories</string>
<key>CFBundleIconFile</key>
<string>icon-windowed.icns</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0.0</string>
<key>LSBackgroundOnly</key>
<string>0</string>
</dict>
</plist>
Самое смешное, что до 3 месяцев назад нам удалось собрать работающую связку. Так что пока что произошло нечто странное, чего я пока не могу найти.
Буду очень благодарен за помощь!