mac pyenv 安装tkinter,解决tkinter环境的问题

这几天写了一个爬虫,因为要获取浏览器的大小,所以调用了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/
找到了一个关于它的描述:
mac pyenv 安装tkinter,解决tkinter环境的问题

看来是要到上面的网站下载一个tcl-tk的套件:https://www.activestate.com/products/tcl/downloads/
要下载这个套件的话,要先注册一个账号,还要新建一个项目。

mac pyenv 安装tkinter,解决tkinter环境的问题
这里说下:最好不要下载最新版的,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()'
mac pyenv 安装tkinter,解决tkinter环境的问题
出现上图的话,那就证明安装成功了,可以愉快的使用的tkinter了。

猜你喜欢

转载自blog.51cto.com/14730644/2477659