「週末プログラマー日記」は、プログラミング初心者である34才のオジさんが、週末に「Python」というプログラミング言語を学んで、プログラマーとしてお仕事ができるようになるまでの悪戦苦闘の日々を記録になるはずである。
今回は、Pythonのturtleモジュールのインポートが失敗し続け、原因がわからず、亀を動かせるまでに10時間かかった話です。
turtleモジュールがインポートできない
それは、突然やってきました。
いろんな関数を試して、勉強する日々。
勉強中の本で「turtleモジュールをつかいこなしてみよう」の章がやってきた。
turtleモジュールは、皆さんも知っての通り、pythonで亀を操って絵を描ける(私のざっくり理解によると)モジュールだ。
何気なく試したturtleインポート。
import turtle
返ってきた答えは、
ImportError: No module named '_tkinter’
え?嘘でしょ?
なんどやってみても同じ。
ImportError: No module named '_tkinter’
turtleモジュールがインポートできない!!
え?ここでつまずくの??
まだ作るとかそういうレベルでなく、いろんな関数とかモジュールを試しているだけやん!
その時の環境はこちら。
環境
- macOS(Mojave)を利用
- pyenvでpython3.7.4を利用
そこからもうGoogle先生に色々聞いて、pythonのアンインストール・インストールを繰り返したり、tcl-tkのアンインストール・インストールを繰り返したり。。。
気がつけば10時間ほどの時間を費やしていました。
あるサイトに出会い、ついに亀を動かすことができました!
亀を動かせるようになった
参考にさせていただいたサイトはこちら。
てくてくぷれいす「macOS(Mojave)でNo module named ‘_tkinter’を解決する(pyenv , Python3.x)」
というか何度かこのサイトは見ており、この通りにやった気になっていたのですが、試せていなかったことが一つあり、それを試した結果、亀を動かせるようになったのです!!
試せていなかったこと、それは「python」のバージョンをサイトに記載されている「3.6.7」で試すということ。
バージョンの違いが原因で、「 '_tkinter’」が動かない状態が発生していたようだ。
正直、turtleモジュールがインポートできるようになり、亀は動かせるようになったものの、なぜ「 '_tkinter’」がうまく動かなかったのかはちゃんと理解できていない。
ただ、今は理解できる気がしていない。
ので、ひとまず前に進むことにする。
いつかPython玄人になれた際には、いまはわからないことを理解し、本記事にもその原因を記載していることであろう。
本日はここまで!