2016-04-28 8 views
0

私は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()を使用することもできますが、スクリプトで実行すると機能しません。

+0

'print(tk .__ file __)'で 'import tkinter as tk'に従います。 Windowsでは '.../python35/Lib/tkinter/__ main __。py'のようなものが表示されます。 –

+0

これは私が(私のMacで)得るものです: /Users/.../anaconda/lib/python3.5/tkinter/__init__.py それで私はどうしますか? –

+0

tkinter.pyという名前のファイルを削除する必要があるという考えを破棄します(あなたがリンクした答えのように)。次のテスト:tkinter/__ init__.pyのanacondaコピーは明らかに壊れていますか? 'print(dir(tk)、len(dir(tk)))'を試してください。それは 'Tk'と他のウィジェットクラスを含んでいますか?私はlenのために165を得て(200と2.7)、それはあなたのために同じでなければならないと信じています。結果は、2.7リストの名前のサブセットにする必要があります。 –

答えて

0

私はグーグル・グーグル・グーグルでは、エラー・メッセージを尋ねました。明らかに、それはtkinterとは関係ありませんが、matplotlibとは関係ありません。問題に関連しているかどうかはわかりませんでした。追加:

matplotlib.use('TkAgg') 

この問題を解決しました。私はなぜ、どういうわけか分からない。 ここに解決策が見つかりました:https://github.com/MTG/sms-tools/issues/29

関連する問題