私はAnacondaをインストールして、Python 2.7を使用する前にうまく動作したスクリプトを実行しようとしました。今、私はtkinterのルートウィジェットを初期化できません。私はいくつかの表現を試しましたが、これまでのところ何の仕事もありません私は(モジュールを呼び出す必要はありませんと言いTkinter doesn't work with Python 3.5:例えば:私は答えに応じて動作する必要がありますねTkinterのルートウィジェットはPython 3.5で初期化されません
1.
import tkinter as tk
root = tk.Tk()
2.
from tkinter import *
root = Tk()
tkinter)からすべてをインポートします。
2016-04-28 17:58:16.168 python[1808:507] -[NSApplication _setup:]: unrecognized selector sent to instance 0x10a5270d0
2016-04-28 17:58:16.172 python[1808:507] An uncaught exception was raised
2016-04-28 17:58:16.172 python[1808:507] -[NSApplication _setup:]: unrecognized selector sent to instance 0x10a5270d0
2016-04-28 17:58:16.172 python[1808:507] (
0 CoreFoundation 0x00007fff8f5d925c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff8ef5ee75
:
とにかく、私は何を取得すると、次のメッセージです。
。
。
27 python 0x0000000100000cc4 start + 52
28 ??? 0x0000000000000002 0x0 + 2
この質問module 'tkinter' has no attribute 'Tk' with python 3.5私は削除するようになってるファイルのどこかがあるようにそれはそうによります。
ターミナルで直接tk.Tk()を使用することもできますが、スクリプトで実行すると機能しません。
'print(tk .__ file __)'で 'import tkinter as tk'に従います。 Windowsでは '.../python35/Lib/tkinter/__ main __。py'のようなものが表示されます。 –
これは私が(私のMacで)得るものです: /Users/.../anaconda/lib/python3.5/tkinter/__init__.py それで私はどうしますか? –
tkinter.pyという名前のファイルを削除する必要があるという考えを破棄します(あなたがリンクした答えのように)。次のテスト:tkinter/__ init__.pyのanacondaコピーは明らかに壊れていますか? 'print(dir(tk)、len(dir(tk)))'を試してください。それは 'Tk'と他のウィジェットクラスを含んでいますか?私はlenのために165を得て(200と2.7)、それはあなたのために同じでなければならないと信じています。結果は、2.7リストの名前のサブセットにする必要があります。 –