这几天写了一个爬虫,因为要获取浏览器的大小,所以调用了tkinter,测试时发现竟然出现了一个错误,出现这个错误: ModuleNotFoundError: No module named '_tkinter' 印象这个错误是在windows里面的碰到过,之前window10里面安装时忘记勾选tcl的那个选项了。搜了下,大部分出现在以下场景中: 1.MacOS Mojave 2.pyenv 我的现在系统是刚好是:MacOS Mojave,并且使用了pyenv,刚好两种情况都让我遇到了。 既然遇到了就要想把办法去解决它。 网上给出了:brew install tcl-tk 来解决这个问题,很遗憾的是这个方法对我没有效果。 到python官网搜下了:https://www.python.org/download/mac/tcltk/ 找到了一个关于它的描述:
看来是要到上面的网站下载一个tcl-tk的套件:https://www.activestate.com/products/tcl/downloads/ 要下载这个套件的话,要先注册一个账号,还要新建一个项目。
这里说下:最好不要下载最新版的,python对最新版的支持不是很友好,推荐下载8.5。 安装好后,还会出现ModuleNotFoundError: No module named '_tkinter'这个错误,原因是很简单,pyenv 安装python的时候,tcl-tk还没有安装。解决这个问题很简答,重新安装下python就好, 我的是python3.7.3,所以执行 pyenv install 3.7.3 。 重装后之前安装的虚拟环境和依赖库都会存在,如果担心依赖有问题的话,可以先把依赖库导出备份下。 现在进行测试:python -m tkinter -c 'tkinter._test()' 出现上图的话,那就证明安装成功了,可以愉快的使用的tkinter了。