這幾天寫了一個爬蟲,因為要獲取瀏覽器的大小,所以調用了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了。
閱讀更多 pythoner小智 的文章