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了。


分享到:


相關文章: