質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

3030閲覧

turtleモジュールがインポートできない

ViViDax

総合スコア3

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/06/15 14:07

最近pythonの勉強を独学で始めたものです
購入したpythonの入門書の中でturtleモジュールを使う章があるのですがいざインポートしようとしても

python

1Traceback (most recent call last): 2 File "<stdin>", line 1, in <module> 3 File "/Users/username/.pyenv/versions/3.7.7/lib/python3.7/turtle.py", line 107, in <module> 4 import tkinter as TK 5 File "/Users/username/.pyenv/versions/3.7.7/lib/python3.7/tkinter/__init__.py", line 36, in <module> 6 import _tkinter # If this fails your Python may not be configured for Tk 7ModuleNotFoundError: No module named '_tkinter'

と出てきてしまい利用できません。
以前似たようなことがありネットで調べたことを闇雲に片っ端からやったらどうしてかわからないのにインポートできてしまいましたが、今回も原因もわからず下手に設定をいじるのも怖いので質問させていただきます。
どなたか解決方法や原因がわかる方いらっしゃいましたらご教授ください。
使用OS:Mac
pythonはHomebrew経由でダウンロードしました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

pythonはHomebrew経由でダウンロードしました

の部分は間違ってますね。エラーを見る限りpyenvでインストールしたpythonを使っています。

"pyenvはHomebrew経由でダウンロードしました"と書きたかったのに筆が滑ったのか、
自分はHomebrew経由でインストールしたpythonを使っているつもりなのにそうなってないのが原因か、
のどちらかでしょう。

後者なら

pyenvを使うのをやめてください。Homebrew経由でインストールしたpythonを使うようにしましょう。
/usr/local/opt/python@3.8/bin/python3.8あたりにあると思います。(このpythonはtkinterが使えるようにビルドされているはずです)

が回答になります。


以前似たようなことがありネットで調べたことを闇雲に片っ端からやったらどうしてかわからないのにインポートできてしまいましたが

pyenvでTcl-TkをサポートするPythonをビルドするのにどうすればいいか?
というのはpyenvの開発でも現在進行形で議論中の話題です。
昔は正しくできたことが今も通用するとは限らないですし、今も通用する昔の手段が正しいとは限らない領域です。

これまでの話の流れは、このissueが一番つかみやすいと思います、

https://github.com/pyenv/pyenv/issues/1375

pyenvの本家を調べたり、継続してウォッチしたりする気がないならanacondaや公式バイナリを使いましょう
(yymmtさんに完全に同意します)


https://github.com/pyenv/pyenv/pull/1397

をマージ済みのpyenvを使って(Homebrewからインストールしていれば大丈夫でしょう。自分でcloneしていたらpyenvを更新してください)

https://stackoverflow.com/questions/60469202/unable-to-install-tkinter-with-pyenv-pythons-on-macos/60469203#answer-61879759

の手順でするのがいいと思います。


現時点では普通にpyenvでビルドすると普通に使えます(使えるようにビルドされます)。

投稿2020/06/15 22:08

編集2021/06/11 00:09
quickquip

総合スコア11029

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

turtleが使用しているtkinterというパッケージが正しくインストールされていません。以前tkinterに関する質問に答えましたが、その際に学んだことは

Python初学者がmacOStkinterを用いる場合はAnaconda公式Pythonを使う方が初学者も教える方も幸せ

ということです。pyenvを辞めてAnacondaを使うのはどうでしょうか?pythonは初学者だがコンピュータはベテランということであればpyenvで頑張るのも良いです。その場合は参考URLを確認して下さい。

参考URL

投稿2020/06/15 14:57

yymmt

総合スコア1615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ViViDax

2020/06/15 22:22

回答ありがとうございます pyenvをやめてAnacondaを使おうと思います この際pyenvはこのまま何もいじらなくて問題ないでしょうか?
quickquip

2020/06/15 22:29

> pyenvをやめて pyenvでAnacondaをインストールすればいいでしょう
ViViDax

2020/06/15 23:27

anacondaをインストールしたら問題なく動きました。 本当にありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問