为什么我的Python通过家庭酿造安装不包括Tkinter

Dan*_*hen 22 python macos tkinter

我在Mac上通过自制软件安装了我的Python.

brew install python
Run Code Online (Sandbox Code Playgroud)

之后我将我的python版本检查为2.7.11,然后我尝试了执行

import Tkinter
Run Code Online (Sandbox Code Playgroud)

我有以下错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
Run Code Online (Sandbox Code Playgroud)

sgo*_*n00 37

我正在运行 MacOS Big Sur (11.2.3)。

使用python2,我已经Tkinter内置了。

使用python3,它必须手动安装,非常简单,只需运行:

$ brew install python-tk
Run Code Online (Sandbox Code Playgroud)

要在终端中运行 python2,请执行python file.py.

要在终端中运行 python3,请执行python3 file.py.


小智 21

根据上面的评论以及Python必须链接到Tcl/Tk框架的事实:

如果您没有Xcode命令行工具,请安装以下命令:

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

如果您没有安装Tcl/Tk brew(请查看brew列表),请安装:

brew install tcl-tk
Run Code Online (Sandbox Code Playgroud)

然后,运行"brew uninstall python",如果没有安装选项--with-tcl-tk(当前的官方选项).然后再次安装Python,将其链接到brew安装的Tcl/Tk:

brew install python --with-tcl-tk
Run Code Online (Sandbox Code Playgroud)

  • 这似乎不再起作用.我收到消息`警告:python:这个公式没有--with-tcl-tk选项所以它将被忽略!`. (7认同)
  • 我没有收到任何警告,我现在只是收到一个错误:`Error:invalid option:--with-tcl-tk` (3认同)
  • 不幸的是, `--with-tcl-tk` 已被删除,您可以在[此处](https://github.com/Homebrew/homebrew-core/commit/a377978583a538110a1e6e2fd95530ec6f6e7abe)看到。对于我的特定系统,运行 `brew uninstall --ignore-dependency python &amp;&amp; brew install python` 就可以了。现在还不清楚为什么会这样,但它确实有效。我想这与重建和连接东西以及其他魔法有关。 (2认同)

JBa*_*lin 10

12/18更新:由于各种原因不再 可能.

现在已经过时了.如果要删除这些警告,则必须直接从python.org安装Python .


2018年更新

brew reinstall python --with-tcl-tk
Run Code Online (Sandbox Code Playgroud)

注意:Homebrew现在默认使用Python 3 - Homebrew Blog.文件.


测试

python应该调出系统的Python 2,python3应该调出Python 3.

idle指向系统Python/tcl-tk.它会显示一个过时的tcl-tk错误(除非你brew install python@2 --with-tcl-tk)

idle3 应该提出没有警告的Python 3.

警告

--with-tcl-tkpython直接从python.org安装,您将在运行时看到brew info python.

更多信息在这里.

  • 这不再起作用,因为可选的`--with-tcl-tk`消失了。 (4认同)

Car*_*l G 8

如果您正在使用,pyenv您可以尝试tcl-tk通过自制软件安装,然后激活 env。变量。在其警告部分中提到,如本答案中所述。激活那些环境。变量。在通过自制软件安装 python 之前可能对你有用:

? export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
? export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
? export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
? export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
? export PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' \
                              --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'"
? brew reinstall python
Run Code Online (Sandbox Code Playgroud)


nas*_*0rn 8

使用brewpython3,您必须单独安装 Tinker。

安装python时的brew消息:

tkinter 不再包含在此公式中,但可以单独使用:

brew install python-tk@3.9
Run Code Online (Sandbox Code Playgroud)

  • ...这是文档:https://formulae.brew.sh/formula/python@3.9 (3认同)

Reb*_*que 5

在mac OSX上,您必须单独安装TCL:

您可以在以下位置找到说明和可下载的内容:https : //www.tcl.tk/software/tcltk/ 以及以下位置:http ://wiki.tcl.tk/1013

这需要一点点努力,但是既不复杂也不困难。


归档时间:

查看次数:

20177 次

最近记录:

7 年,9 月 前