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

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

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

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

7004閲覧

Python:tkinterが使えずアンインストールもうまくいかない

Soushi_Kawauso

総合スコア6

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2019/08/15 11:33

編集2019/08/15 12:14

OS:Mac Mojabe 10.14.5

Pythonのtkinterを使おうと思ったら

import _tkinter # If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named '_tkinter'

と表示され使えませんでした。
Python一回アンインストールするのが良いと調べたら書いてあったので

https://peachcle.com/uninstall-python-for-mac/

↑の記事を参考にしたらアプリケーションフォルダにPythonが入っておらず、Flameworkにも入っていませんでした。
pythonの階層を調べたら
/Users/user/.pyenv/versions/3.6.5/bin

配下にPythonが入っているのは確認したのですが

pyenv uninstall

を試してもできませんでした。

どなたか教えていただたけないでしょうか泣

追記:
アンインストールから再インストールは成功したのですが実行しようとしたら次は

RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)

とエラーが出てしました・・・。色々調べてみましたがよくわからず泣
理解力不足で申し訳ありません・・・。

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

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

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

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

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

meg_

2019/08/15 11:40

Pythonはどうやってインストールしたのですか? OSは何ですか?
Soushi_Kawauso

2019/08/15 11:41

Pythonは公式サイトからダウンロードしました。 OSはmacOS Mojave 10.14.5 です。 情報足りず申し訳ありません・・・。
quickquip

2019/08/15 11:50 編集

「公式サイトからダウンロードしました」か「pythonの階層を調べたら /Users/user/.pyenv/versions/3.6.5/bin」のどちらかは間違いだと思います。 エラーからすると「公式サイトからダウンロードしました」の方が間違いでしょうか。
meg_

2019/08/15 12:00

Python単体でインストールされたとのことですが、pyenvも使っているようですね。 which pythonとwhich pyenvで場所を確認の上、macに元々入っているpythonを消さないようにご注意ください。 参考:https://qiita.com/SonoT/items/24f8a14555aea4961f9b
Soushi_Kawauso

2019/08/15 12:09

返答ありがとうございます!とりあえず、mokemokechickenさんに貼っていただいたURLのものを参考にしてアンインストールしてみました。
guest

回答1

0

ベストアンサー

この辺をまず試してはどうでしょうか。
Mac OS X 10.11.3 (El Capitan) + pyenv + Python 3.5.1でimport tkinterできない時

※ 上記記事の 3.5.1 は ご自分の環境の 3.6.5 と読み替えてみてください。


■ 追記1

RuntimeError: tk.h version (8.6) doesn't match libtk.a version (8.5)

ググると色々な人が苦労している感じがありますが、下記の記事では、上記を解決したようですが、
https://murabitoleg.com/mac-tkinter/
tkを8.5に戻してPythonを再Installしたみたいですね。
※ しかも homebrew での install は悪手だった...? みたいです

ただ、

また,/Library/FrameworksにあるTcl.framework,Tk.frameworkも削除しましょう.

とあるので、ちょっと怖いですね。

ちなみに私は、 pyenv で python 3.6.4, 3.7.2 など使っていますが、
特に何もせず import tkinter できてます。
※ そもそも何故エラーになるんでしょうね...

■ 追記2

なにかの参考になるかもしれないので、私の環境について少し記しておきます。

  • pyenv: 1.2.9
  • python: 3.7.2 (他にもたくさんpyenvでinstallはされていますが)
  • tcl version: 8.5.9
  • brew で tcl-tk は install されていない
  • /System/Library/Frameworks の Tcl, Tk Framework は 8.5系っぽい
% python -V Python 3.7.2 % python -c "import tkinter as tk; print(tk.Tcl().eval('info patchlevel'))" 8.5.9 % pyenv --version pyenv 1.2.9 % brew info tcl-tk tcl-tk: stable 8.6.9 (bottled) [keg-only] Tool Command Language https://www.tcl.tk/ Not installed % ls /System/Library/Frameworks/T{cl,k}.framework/Versions/ /System/Library/Frameworks/Tcl.framework/Versions/: ./ ../ 8.5/ Current@ /System/Library/Frameworks/Tk.framework/Versions/: ./ ../ 8.5/ Current@

投稿2019/08/15 11:43

編集2019/08/15 13:58
mokemokechicken

総合スコア948

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

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

mokemokechicken

2019/08/15 13:47 編集

ちなみに、私のpyenv環境だと 8.5.9 を使っているみたいです。 % python -V Python 3.7.2 % python -c "import tkinter as tk; print(tk.Tcl().eval('info patchlevel'))" 8.5.9 % pyenv --version pyenv 1.2.9 ↑ pyenvはちょっと古いですね
mokemokechicken

2019/08/15 13:49

あと確かに brew で tcl-tk をinstallはしていないようです。 % brew info tcl-tk tcl-tk: stable 8.6.9 (bottled) [keg-only] Tool Command Language https://www.tcl.tk/ Not installed ....
mokemokechicken

2019/08/15 13:55

Tcl, Tk の Frameworkは 8.5 ですね。 要するに(homebrew で入れた)8.6が無いので、普通に8.5とLinkしているみたいです。 % ls /System/Library/Frameworks/T{cl,k}.framework/Versions/ /System/Library/Frameworks/Tcl.framework/Versions/: ./ ../ 8.5/ Current@ /System/Library/Frameworks/Tk.framework/Versions/: ./ ../ 8.5/ Current@
Soushi_Kawauso

2019/08/18 16:19

出先で遅れました・・・。返答ありがとうございます!試してみます・・・!
quickquip

2019/08/20 09:05 編集

import tkinter でエラーにならなくても tkinter.Tk() でエラーになりませんか?
mokemokechicken

2019/08/21 04:12

> tkinter.Tk() でエラーになりませんか? 試してみましたが、私はならなかったです。
quickquip

2019/08/21 04:31

試していただいてありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問