bidst_mac cx_freeze не работает, но приложение build_exe работает

#python #macos #plotly-dash #cx-freeze

Вопрос:

Я пытаюсь упаковать скрипт python для macOS с помощью cx_freeze. Когда я бегу

 python setup.py build
 

Исполняемый файл внутри сборки работает, но он запускает терминал. Я хочу упаковать скрипт в .app и применить настройки, такие как значок и т. Д.

Для этого, когда я использую

 python setup.py bidet_mac
 

Мое .приложение создано, но при запуске оно выходит из строя. Ошибка заключается в следующем —

Тип исключения: EXC_BAD_ACCESS (Недопустимая подпись кода) Коды исключений: 0x0000000000000032, 0x000000010078c000 Примечание об исключении: EXC_CORPSE_NOTIFY

Причина завершения: Кодовое ПРОЕКТИРОВАНИЕ пространства имен, Код 0x2

Вот мой setup.py

     from setuptools import find_packages
from cx_Freeze import setup, Executable
import pkg_resources
from os.path import join, basename

def collect_dist_info(packages):
    """
    Recursively collects the path to the packages' dist-info.
    """
    if not isinstance(packages, list):
        packages = [packages]
    dirs = []
    for pkg in packages:
        distrib = pkg_resources.get_distribution(pkg)
        for req in distrib.requires():
            dirs.extend(collect_dist_info(req.key))
        dirs.append((distrib.egg_info, join('Lib', basename(distrib.egg_info))))
    return dirs

options = {
    'build_exe': {
        'packages': [
            'asyncio', 'flask', 'jinja2', 'dash', 'plotly', 'pkg_resources'
        ],
        "include_files": collect_dist_info("brotli"),
        'excludes': ['tkinter']
    },
    'bdist_mac': {
        'iconfile': 'logo_new.icns'
    }
}

executables = [
    Executable('app.py',
               base=None,
               targetName='built-app', icon='logo_new.icns')
]

setup(
    name='built-app',
    packages=find_packages(),
    version='0.2',
    description='test',
    executables=executables,
    options=options
)