我最近在 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'],
)
有人可以提供一些关于问题可能是什么的见解吗?提前致谢。