0

我最近在 python 中使用 tkinter 创建了一个 GUI 应用程序。当我使用“别名模式”创建应用程序时:

python3 setup.py py2app -A

应用程序已创建,一切都按预期工作,没有问题。我这样做是为了确保它在创建独立版本时可以工作,但事实并非如此。应用程序无法打开,虽然我可以选择进入控制台,但我不知道如何解释显示的数据。因此,我通过“包内容”打开了应用程序,这些是我在终端中收到的错误:

ImportError: dlopen(/Users/MYNAME/dist/MYAPP.app/Contents/Resources/lib/python3.8/lib-dynload/sklearn/__check_build/_check_build.so, 2): Library not loaded: @loader_path/../.dylibs/libomp.dylib
  Referenced from: /Users/MYNAME/lib/python3.8/lib-dynload/sklearn/__check_build/_check_build.so
  Reason: image not found

和:

NotADirectoryError: [Errno 20] Not a directory: '/Users/MYNAME/dist/MYAPP.app/Contents/Resources/lib/python38.zip/sklearn/__check_build'

此外,虽然我不确定它是否相关,但在我的 setup.py 文件中,我没有指定我在“DATA_FILES”部分中使用的 selenium chromedriver。我应该这样做吗?

这是我的设置文件的副本以供参考:

from setuptools import setup

APP = ['test9.py']
APP_NAME = "MYAPP"
DATA_FILES = ['logocopy.png', 'britishdict.txt']
OPTIONS = {
 'iconfile':'app_icon.icns',
 'argv_emulation': True,
 'packages': ["certifi"],
 'plist': {
        'CFBundleName': APP_NAME,
        'CFBundleDisplayName': APP_NAME,
        'CFBundleGetInfoString': "MYAPP GUI",
        'CFBundleVersion': "1.0.7",
        'CFBundleShortVersionString': "1.0.7",
        'NSHumanReadableCopyright': u"Copyright © 2020, MYNAME, All Rights Reserved"
    }
}

setup(
    name=APP_NAME,
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

有人可以提供一些关于问题可能是什么的见解吗?提前致谢。

4

0 回答 0