34

Tkinter の質問に答えるとき、通常は自分でコードを実行しようとしますが、次のエラーが発生することがあります。

Traceback (most recent call last):
  File "C:\Python27\pygame2.py", line 1, in <module>
    from tkinter import *
ImportError: No module named tkinter

質問を見るtkinterと、小文字の tでインポートされていることがわかります。

from tkinter import *

Tkinter私は常に大文字の T でインポートします:

from Tkinter import *

これは常に私にとってうまくいきます。tkinterとの使用の違いは何Tkinterですか?

4

12 に答える 12

56

それは簡単です。

python2 の場合は次のとおりです。

from Tkinter import *

python3 の場合は次のとおりです。

from tkinter import *

この混乱を完全に忘れる方法は次のとおりです。

try:
    from Tkinter import *
except ImportError:
    from tkinter import *
于 2013-07-24T19:55:00.397 に答える
3

Python 3 では "tkinter" であり、Python 2 では "Tkinter" の場合です。

#python 2
from Tkinter import *

#python 3
from tkinter import *

プログラムを Python 2 と Python 3 の両方で実行するには、次を使用できます。

try:
    import tkinter as tk
except:
    import Tkinter as tk

次に、Tkinterモジュールをtkとして使用します

于 2015-04-14T00:05:55.893 に答える
2

公式ドキュメントによると、「Tkinter は Python 3 で tkinter に名前が変更されました」。Python2 では、「*」が「すべて」を意味する場所で、import Tkinterまたはより頻繁に使用します。from Tkinter import *Python3 ではimport tkinter、 またはを使用しますfrom tkinter import *

于 2018-03-25T02:05:29.053 に答える
1

Python 2 は常に使用されてきfrom Tkinter import * ましたが、Python 3 はfrom tkinter import * これがばかげていると思います。残念ながら、多くの人を混乱させています。

于 2015-07-29T06:44:34.743 に答える
0

Python 2および Python 3の Tkinter と tkinter の追加の違い**

Python 2.* Tkinter のインポートが異なるスクリプトを持っていたので、a をブラウズしましたが、答えがすべて散らばっていることがわかります。ここでは、両方の Python バージョンを使用するための安全なスクリプトを含む簡単な要約を示します。

try:
    import Tkinter as tk
    import tkMessageBox as tkm
    import ScrolledText as tkst
    from tkFileDialog import askopenfilename
except ImportError:
    import tkinter as tk
    import tkinter.messagebox as tkm
    import tkinter.scrolledtext as tkst
    from tkinter.filedialog import askopenfilename

ModuleNotFoundError エラー一覧 (Python 3 実行時)

ModuleNotFoundError: No module named 'Tkinter'
ModuleNotFoundError: No module named 'tkMessageBox'
ModuleNotFoundError: No module named 'ScrolledText'
ModuleNotFoundError: No module named 'tkFileDialog'
于 2021-06-20T16:50:34.493 に答える