最近为了写一个GUI打算用tkinter,结果切换到pyenv的虚拟环境报错:
import tkinter as tk File "/Users/simonliu/.pyenv/versions/3.8.2/lib/python3.8/tkinter/__init__.py", line 36, inimport _tkinter # If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named '_tkinter'
然而切换到系统的默认python3下是正常的:
网上有很多解决方案,我这里有个比较简单的:
# 安装tcl-tk brew install tcl-tk # 安装一个新的python版本 v=3.8.10;wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v # 以刚才安装的python版本创建一个新的名为`sh2`的环境 pyenv virtualenv 3.8.10 sh2 # 激活虚拟环境 pyenv activate sh2 # 测试tkinter python -m tkinter -c 'tkinter._test()'
如果成功,会弹出如下窗口:
其他参考:
- tkinter安装_mac pyenv 安装tkinter,解决tkinter环境的问题
- https://github.com/pyenv/pyenv/issues/1375#issuecomment-524280004
- https://github.com/pyenv/pyenv/issues/1375#issuecomment-549754431



