Я пытался создать отдельное приложение с графическим интерфейсом для Mac OSX на основе скрипта Python 3 (версия 3.7).Скрипт .py отлично работает при запуске прямо из терминала.Однако это для моего отца, которому нужна помощь при загрузке .jpg, поэтому ему нужно простое приложение для двойного щелчка.
К сожалению, все инструменты, которые я пытаюсь использовать, похоже, содержат ошибки в модулях, которые я использую.( py2App = openpyxl / pyinstaller = tkinter ).Сейчас я пытаюсь использовать cx_Freeze.
Однако здесь снова описана известная ошибка с Python 3.7
Я пытался исправить это на своем компьютере Mac OSX, но не могу найти файл, на который ссылается (на этом GIT-концентраторе, код, связанный с первым постом выше).
Я бы хотел исправить эту ошибку, но я также хотел бы понять, почему это происходит, чтобы расширить мои знания как о Python, так и о создании автономных приложений.
К сожалению, я недостаточно хорош, чтобы понять, как это исправить, прочитав сообщения на GIT-хабе (так как они направлены на системы Windows, а я не нахожу файлы), и почему эта ошибка не возникает.
Заранее спасибо за помощь.
для информации, вот копия вывода терминала при запуске созданного исполняемого файла:
/Users/USER_NAME/Desktop/Python/DAD_PROJECT/build/exe.macosx-10.9-x86_64-3.7/PROJECT_NAME ; exit;
MacBook-Pro-de-USER_NAME:~ USER_NAME$ /Users/USER_NAME/Desktop/Python/DAD_PROJECT/build/exe.macosx-10.9-x86_64-3.7/PROJECT_NAME ; exit;
Fatal Python error: initfsencoding: unable to load the file system codec
ImportError: invalid flags 1545637508 in 'encodings'
Current thread 0x00007fff98191380 (most recent call first):
Abort trap: 6
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Opération terminée]
РЕДАКТИРОВАТЬ, и для хорошей меры, мой файл setup.py также:
Обратите внимание, что это было автоматически сгенерировано на моем Mac с помощью cxfreeze-quickstart, как рекомендовано для cx-freeze.readthedocs
from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])
import sys
base = 'Win32GUI' if sys.platform=='win32' else None
executables = [
Executable('PROJECT_NAME.py', base=base, targetName = 'PROJECT_NAME')
]
setup(name='PROJECT_NAME',
version = 'DAD_PROJECT',
description = 'Project for my dad',
options = dict(build_exe = buildOptions),
executables = executables)