当我运行 "idle3.8 "时,我得到了这个错误。
IDLE can't import Tkinter.
Your Python may not be configured for Tk.
我已经安装了所有的tkinter包,但我又得到了这个错误。 当我导入tkinter时,我得到了这个错误。
File "/usr/local/lib/python3.8/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 2上导入tkinter。
我的操作系统是Fedora
我的python版本是:3.8.2。
这里是 步步为营 使IDLE和 tkinter
在MacOS Catalina上工作。应该很容易适应Linux。
tcl-tk
与Homebrew。在shell中运行 brew install tcl-tk
echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrc
Terminal
应用或运行 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中运行 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
与 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
官方readme from GitHub)3.8.x
- 3.9.x
(安装有 pyenv install <version>
命令)