使用Python 3在Mac上没有名为'_tkinter'的模块

时间:2019-09-18 08:37:47

标签: python tkinter

我正在尝试使用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

这应该使其兼容。当我使用终端运行脚本时,该脚本起作用,而当我运行该应用程序时,该脚本不起作用。

Platypus

我在捆绑应用中指定它也应使用python3 ...

不确定我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

几个问题:/usr/bin/python3上没有文件。将/usr/local/bin/python3用作/usr/bin/envpython3作为参数。或您的特定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,然后仅导入filedialogfrom的全部要点是避免导入整个库。