解决mac上ModuleNotFoundError: No module named '_tkinter'问题
背景
之前在win上用tkinter上编写了一个工具,功能突然要扩展一下。由于现在切换到mac办公,git clone下代码后,创建python虚拟环境后,并pip install必要的第三方库后,运行竟然报错了。
这里记录下解决方案
解决方案
我的环境:用pyenv管理多版本python
报错:
......
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
解决方案:
brew install tcl-tk
echo 'export PATH="/usr/local/opt/tcl-tk/bin:$PATH"' >> ~/.zshrc
vim ~/.zshrc
添加:
# 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"
# 当前为tck-tk为8.6,请以实际安装为准
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'"
source ~/.zshrc
pyenv uninstall 3.9.0
(如果之前安装过需要用的版本,先卸载)pyenv install 3.9.0
如果出现
macOS 11 or later required !
信息,请重复如上步骤