Pythonのturtleモジュールで亀を動かせるまでに10時間かかった話。週末プログラマー日記vol.004

週末プログラマー日記のアイキャッチ画像

「週末プログラマー日記」は、プログラミング初心者である34才のオジさんが、週末に「Python」というプログラミング言語を学んで、プログラマーとしてお仕事ができるようになるまでの悪戦苦闘の日々を記録になるはずである。

今回は、Pythonのturtleモジュールのインポートが失敗し続け、原因がわからず、亀を動かせるまでに10時間かかった話です。

週末プログラマー日記のアイキャッチ画像

プログラミングって楽しいけど難しい。英語を喋るのに似ている。週末プログラマー日記vol.003

2019/10/05

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玄人になれた際には、いまはわからないことを理解し、本記事にもその原因を記載していることであろう。

本日はここまで!

ご意見・アイデア募集!

週末プログラマー日記では、ご意見やアイデアを募集しています!

  • こんな開発して欲しい!
  • こんな機能あったら面白いのでは?

その他にも本日記に関する感想などもお待ちしております!