ImportError:「Tkinter」という名前のモジュールはありません


206

なんらかの理由で、Tkinterまたはtkinterモジュールを使用できません。Pythonシェルで次のコマンドを実行した後

import Tkinter

または

import tkinter

このエラーが発生しました

ModuleNotFoundError: 'Tkinter'という名前のモジュールはありません

または

ModuleNotFoundError: 'tkinter'という名前のモジュールはありません

何が原因で、どうすればそれを解決できますか?


7
Pythonが付属していない場合はインストールしてください。
RasmusGP 2014

使用しているバージョンによって異なりますか?
ゼブ

問題は、間違ったpythonバージョンがインストールされていて、すべてのモジュールがインストールされていなかったことです。おかげで、今は修正されていません:)
RasmusGP

12
なぜこの質問は閉じられているのですか?これは私が検索したときに最初に出てきたスレッドでModuleNotFoundError: No module named 'tkinter'、ここの内容は関連性があると思います。
ScottMcC

13
UbuntuのGoogle社員です。sudo apt-get install python3-tk ; 以下のウィザードharrypotter0すべての功績ですがそのコメントは少し隠し幅の下にあります;)
Two-Bit Alchemist

回答:


329

おそらく、次のいずれか(またはそれに類似したもの)を使用してインストールする必要があります。

sudo apt-get install python3-tk 

sudo dnf install python3-tkinter

私はしばらくの間Tkinterを使用しています。これを試してみて、うまくいったかどうか教えてください。

try:
    # for Python2
    from Tkinter import *   ## notice capitalized T in Tkinter 
except ImportError:
    # for Python3
    from tkinter import *   ## notice lowercase 't' in tkinter here

ここに参照リンクがあり、ここにドキュメントがあります

ここで提案されているようにバージョンをチェックする方が良い:

if sys.version_info[0] == 3:
    # for Python3
    from tkinter import *   ## notice lowercase 't' in tkinter here
else:
    # for Python2
    from Tkinter import *   ## notice capitalized T in Tkinter

またはエラーが発生します ImportError: No module named tkinter

編集1:この回答をより一般的にするために、コメントから以下を借りました。Fedoraでは、次のコマンドのいずれかを使用してください

sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64

または

sudo dnf install python3-tkinter

Pythonスクリプトでシバンを使用できます#!/ usr / bin / env python3
Shigiang Liu

1
Fedoraを使用しているユーザーは、このコマンドを実行してインストールします:-sudo dnf install python3-tkinter-3.6.6-1.fc28.x86_64
Devendra Bhat

大文字の変更(Tkinterからtkinterへの変更)が原因で、私はすべてのサンプルコードを更新する必要があります:)
Guy Starbuck

標準のPythonインターフェイスの場合、なぜインストールする必要があるのですか?
マルコ

@DevendraBhatがコメントしたものに追加。fedoraでは、インストールに「sudo dnf install python3-tkinter」を使用できます。
ケリーバン

67

Python 3を使用しているためtkinterドキュメントに記載されているように、モジュールの名前がに変更されました。

注TkinterはPython 3でtkinterに名前が変更されました。2to3ツールは、ソースをPython 3に変換するときにインポートを自動的に適合させます。


8

Windows 10の場合、Pythonでオプション機能「tcl / tk and IDLE」をインストールすることを確認することが重要です。それ以外の場合は、ModuleNotFoundError: 'tkinter'という名前のモジュールはありません。私の場合、Pythonのインストール後に「pip install tkinter」のようなものでtkinterをインストールすることはできませんでした


そうです、Pythonの「埋め込み可能なzipファイル」にはtkが含まれていません。「実行可能インストーラ」をダウンロードし、オプション「tcl / tk and IDLE」を選択することを忘れないでください
tinyhare

5
Pythonインストールを修正して、Pythonインストーラを再度起動し、[変更]を選択できます。この時点で、「tcl / tkおよびIDLE」チェックボックスをオンにして、必要なモジュールを取得できます。
セルジオモルスタビリーニ

5

以下のためのWindows 10のPython 3.7.4とVSCodeまたはPyCharmのいずれかを使用して- Tkのは、インストール中にチェックされていることを確認します。import tkinter as xyz上限/下限のtkすべてのバリアントを試してみました運なし。

機能するのは:

import tkinter
import _tkinter
tkinter._test()

実際の例:

import tkinter
import _tkinter

HEIGHT = 700
WIDTH = 800

root = tkinter.Tk()

canvas = tkinter.Canvas(root, height = HEIGHT, width=WIDTH)
canvas.pack()

frame = tkinter.Frame(root, bg='red')
frame.pack()

root.mainloop()

直接インポートし_tkinterても効果がないと思います。tkinter自動的にインポートされます。
ブライアンオークリー

@BryanOakley これは何の効果もないと思います。私はこれが修正で何でも誓うことができ、それは少なくとも他の5人のためでした。それはそれでバグになるはずです。
Jeremy Thompson

3

特定のバージョンをインストールする必要があるかもしれませんが、Pythonの多くのバージョンを使用していて、たとえばpython 3.7を使用するvirtualenvの1つのバージョンがtkinterをインポートしていなかったときにこれが必要であるという既知のケースがあります。具体的に。

例えば

sudo apt-get install python3.7-tk 

理由はわかりませんが、これは発生しています。


2

あなたがあなたのPythonコードを実行しているとき、それがpython3にあることを確認してくださいコンテキストに。同じ問題があり、コマンドを次のように入力するだけで済みました。

sudo python3 REPLACE.py

sudo python REPLACE.py

後者のコードは不正確です。tkinterは明らかにpython1またはpython2では使用できないためです。


1

コマンドを使用して、インストールしたPythonのバージョンを確認します python --version

次のコードから正しくインストールされたTkモジュールを確認してください

sudo apt-get install python3-tk 

オープンソースOSを使用しているかどうかを確認してください

次のパスにあるtkinterモジュールを確認します / home / python / site-packages / tkinter パスをシステムに応じて変更します


1

あなたはそれをインストールしてそれらにあなたのプロジェクトをインポートするだけです:

このコードはコマンドラインにインポートします:

sudo apt-get install python3-tk 

プロジェクトをインポートした後:

from tkinter import *

0

CentOS7では、これをPython2で動作させるために、私は次のことを行わなければなりませんでした:

yum -y install tkinter

ここでは、pipパッケージがあると思ったので注意してください。実際には、rpmをインストールする必要があります。


0

tkinterにはpythonが付属しています... pythonをアンインストールして再インストールすれば完了です


0

タスクのaptをチェックしてください、それは削除されるようにマークされるかもしれません

sudo apt autoremove

次に、必要なものを確認してインストールします


0

--------- PYTHON 2.7で動作しました------------

以下のすべてのパッケージをインストール

sudo apt-get install git
sudo apt-get install python-tk
sudo apt-get install python-pip
sudo apt install picolisp
sudo -H pip2 install --upgrade pip
sudo pip install -I pillow
sudo apt-get install python-imaging-tk
sudo apt-get install python-tk

0

tkinterには最新のpythonが付属しているはずですが、python 2には付属していないと思います。同じ問題が発生しましたが、いったんpython 3.8にアップグレードするとtkinterがインストールされました


-1

以下を使用してください。

from tkinter import *
root=Tk()
.....
root.mainloop()

1
完全にコードベースの回答の説明参照してください。これは技術的には正しいかもしれませんが、問題を解決する理由や選択された答えである必要がある理由は説明していません。問題の解決に役立つように、さらに教育する必要があります。
ティンマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.