无法在macOS上使用Python 3中的tkinter

无法在macOS上使用Python 3中的tkinter,python,macos,tkinter,Python,Macos,Tkinter,简短版本:Python 3无法在我的iMac上使用tkinter 详细信息和有用信息:我在macOS Mojave上,版本10.14.3(18D109)。(我暂时无法升级,因为新版本的软件无法运行。) 在我的脚本中,我使用的是#/usr/bin/env python3当我到达行import tk as tkinter时,我得到以下错误: Traceback (most recent call last): File "/Users/hal/Documents/Dev/HalPy/T

简短版本:Python 3无法在我的iMac上使用tkinter

详细信息和有用信息:我在macOS Mojave上,版本10.14.3(18D109)。(我暂时无法升级,因为新版本的软件无法运行。)

在我的脚本中,我使用的是
#/usr/bin/env python3
当我到达行
import tk as tkinter
时,我得到以下错误:

Traceback (most recent call last):
  File "/Users/hal/Documents/Dev/HalPy/TestScript.py", line 5, in <module>
    import tkinter
  File "/Users/hal/.pyenv/versions/3.7.3/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'
当我进入帮助模式并键入
modules
时,我会看到该模块,tkinter显示在模块列表中。以防万一,我试着用pip安装它,但它没有安装(这是我所期望的)

那么我需要做什么才能让Python 3识别tkinter呢?(以防万一,使用Tkinter的Python 2确实可以工作。)


另外,我已经看过了,这不是重复的。(首先请注意,两者都没有公认的答案。)第一个问题涉及重新安装,重点似乎是Windows,这是macOS,其中包括预装的。我有点担心重新安装它会怎么样。第二个问题是有问题,因为它是在XCode框架内运行的,问题的一个元素是错误的shebang,而我已经在使用答案所建议的元素。

如果您使用的是当前Python.org Python macOS安装程序(3.9.0+、3.8.0+或3.7.2+)中的Python,使用IDLE或tkinter无需进一步操作。将使用内置版本的Tcl/Tk 8.6


如果您使用的是macOS 10.6或更高版本,则苹果提供的Tcl/Tk 8.5存在严重的错误,可能会导致应用程序崩溃。如果您希望使用IDLE或Tkinter,请不要使用苹果提供的蟒蛇。相反,请从Python.org安装并使用较新版本的Python,或使用提供或链接较新版本Tcl/Tk的第三方发行商。

您可以在此处找到答案:

请参阅尝试运行
brew安装tcl-tk brew链接tcl-tk--force
@RocketNikita:我这样做了,并收到一条错误消息,告诉我使用echo将一行添加到我的.bash_配置文件中。因此,我打开了.bash_profile并将指定的路径添加到设置$path的位置,并打开了一个新的shell,该shell将在$path中包含该路径。它仍然给我同样的错误-因此路径在那里,它抱怨它没有。@PaulRooney是我,还是一个新的安装程序只在/Applications中放置了一个新版本的Python,而不在/bin或/usr/bin或类似位置更新任何版本的Python?这就是我发现的。它包括PythonLauncher,所以我必须将每个脚本中的shebang改为指向/Applications/Python/Contents/MacOS/Python Launcher。我是windows/linux用户。只是希望链接能有所帮助。下面的答案之一就是引用它。
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/hal/.pyenv/versions/3.7.3/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'