我正在尝试使用Tkinter作为GUI将脚本捆绑到.app中,并且进行捆绑的包装器是Platypus。
我去运行该应用时遇到此错误。
Traceback (most recent call last):
File "/Users/samb/Desktop/Beta1.app/Contents/Resources/script", line 4, in <module>
import tkinter
File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/P...ework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
我正在此计算机上运行Python 3.7.4,并且我的脚本使用:
import tkinter
from tkinter import filedialog
这应该使其兼容。当我使用终端运行脚本时,该脚本起作用,而当我运行该应用程序时,该脚本不起作用。
我在捆绑应用中指定它也应使用python3 ...
不确定我在做什么错吗?
答案 0 :(得分:0)
几个问题:/usr/bin/python3
上没有文件。将/usr/local/bin/python3
用作/usr/bin/env
或python3
作为参数。或您的特定python环境需要什么。
由于某种原因,python在Xcode中寻找库,这是不寻常的。我已经安装了python3,并且
中没有python/Applications/Xcode.app/Contents/Developer/Library/Frameworks/
在我的安装中,有效的文件路径为:
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py
(即,在/ Library中,而不是在Xcode中。)由于该脚本在Terminal中运行,因此Platypus的配置很可能是错误的。
作为一个快速技巧,我想您可以将Python.framework从/ Library / Frameworks符号链接到Xcode内的Frameworks文件夹。
如评论中所述,您无需包括第一行import
。当前,您正在导入所有tkinter
,然后仅导入filedialog
。 from
的全部要点是避免导入整个库。