Python3でtkinterをインポートできませんが、python2(Python3.7 macOS Catalina)では機能します

Oct 28 2020

実行python3してPythonを起動import tkinterし、実行すると次のエラーが発生します。

File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 36, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'

ただし、python(python3ではなく)シェルに入ると、import tkinter期待どおりに正常に動作します。tkinterをPython3で動作させるにはどうすればよいですか?

次の点に注意してください:

  • 私はMacOSカタリナにいます
  • 私はPython3.7.3(ベースpython3 --version)を使用しています
  • 私のpython3実行可能ファイルは(/usr/bin/python3)のようです
  • tkinterのパスは /Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/tkinter/
  • idleターミナルで実行できますが、実行できませんidle3
  • 私はvirtualenvまたはpyenvまたはそのようなものを使用しているとは思わない

回答

MarkRoseman Oct 28 2020 at 06:07

別のTcl / Tkインストールが必要です。Tcl / Tkをバンドルしているpython.orgのPython3バイナリインストーラーの新しいバージョンを試してください。

LucasUrban Oct 31 2020 at 07:40

tkinter介してインストールしないでくださいidle。試してみてくださいidle3。何もない場合はpython3-tk、OSインストーラーを使用してインストールします。(私は持っていaptます。私はDebianを使用しています。)幸運を!

LearningProgramming Nov 03 2020 at 13:01

で_を使用しないでください import _tkinter

使用する import tkinter

私はこれがうまくいくと確信しています。それがうまくいくなら、私の答えにチェックを入れてください。