Я пытаюсь создать пакетное приложение моего проекта для MacOS, используя PyInstaller 3.4 с Python 3.6.8 (не brew, установлено с python.org).При первом запуске приложения возникла ошибка:
[2195] Failed to execute script pyi_rth__tkinter
Я нашел решение этой проблемы на https://github.com/pyinstaller/pyinstaller/issues/3753#issuecomment-432464838. После этого запуск AppName.app/Contents/MacOS/AppName проходит безлюбая ошибкаНо если я пытаюсь запустить AppName.app, он выдает:
File "tkinter/__init__.py", line 2023, in __init__
_tkinter.TclError: invalid command name "msgcat::mc"
Чтобы убедиться, что код проекта или spec
-файл, созданный вручную для PyInstaller, не являются проблемой, я написал простой скрипт:
import sys
import logging
from pathlib import Path
import tkinter as tk
logging.basicConfig(
filename=Path('~/Desktop/pyapp.log').expanduser()
)
logger = logging.getLogger()
try:
tk._test()
except Exception as e:
logger.exception(e)
finally:
sys.exit()
Создан пакет с pyinstaller main.py --windowed
, и он ведет себя так же.Содержимое pyapp.log
после запуска dist/main.app
:
ERROR:root:invalid command name "msgcat::mc"
Traceback (most recent call last):
File "main.py", line 12, in <module>
File "tkinter/__init__.py", line 3988, in _test
File "tkinter/__init__.py", line 2023, in __init__
_tkinter.TclError: invalid command name "msgcat::mc"