我最近花了几个小时制作 tkinter
和 IDLE 在我的 pyenv
上工作Python 安装 (macOS)。
你为什么在这里?
pyenv
管理 Python 版本macOS 和 tkinter
模块工作 ) 怎么了?
您收到以下错误之一:
Python may not be configured for Tk
在 import tkinter
import _tkinter # If this fails your Python may not be configured for Tk
RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)
ModuleNotFoundError: No module named '_tkinter'
最佳答案
这里是 分步指南使 IDLE 和 tkinter
工作:
tcl-tk
与自制。在 shell 中运行 brew install tcl-tk
echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrc
Terminal
重新加载 shell应用程序或运行source ~/.zshrc
tck-tk
在 $PATH
.运行echo $PATH | grep --color=auto tcl-tk
.结果你应该看到你的 $PATH 内容为 tcl-tk
突出显示 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"
pyenv
然后用 pyenv uninstall <your python version>
卸载它.例如。 pyenv uninstall 3.8.2
python-build
使用的环境变量.在 shell 中运行 export PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
注意:以后使用tck-tk
与 Homebrew 一起实际安装的版本。发帖时8.6
是实际的 pyenv
安装 Python与 pyenv install <version>
.例如。 pyenv install 3.8.2
测试
pyenv global <verion that you've just installed>
idle
.您应该会看到没有任何警告的 IDLE 窗口和“以红色打印的文本”。 tkinter
.在 shell 中运行 python -m tkinter -c "tkinter._test()"
.您应该会看到如图所示的测试窗口:就是这样!
我的环境:
检查执行上述步骤是否出现问题:
zsh
(包含在 macOS Catalina 中)= 上面的“壳” pyenv
(安装 Homebrew 和 PATH 根据 pyenv
来自 GitHub 的官方自述文件更新)3.8.x
- 3.9.x
(使用 pyenv install <version>
命令安装)关于python - 无法使用 pyenv 安装 : `Python may not be configured for Tk` `ModuleNotFoundError: No module named _tkinter' 运行 IDLE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61870688/