Tkinter根小部件不能使用python 3.5进行初始化

时间:2016-04-28 16:15:13

标签: python-3.x matplotlib tkinter anaconda tk

我刚刚安装了Anaconda并试图在使用Python 2.7之前运行一个运行良好的脚本。现在,我无法在tkinter中初始化根小部件。我试过几个表达但到目前为止都没有。例如:

1

import tkinter as tk
root = tk.Tk()

2

from tkinter import *
root = Tk()

我认为应该按照Tkinter doesn't work with Python 3.5中的答案进行操作,其中表示在从中导入所有内容时我不需要调用模块(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(),但是当我在脚本中运行它时,它将无法工作。

1 个答案:

答案 0 :(得分:0)

我用Google搜索了错误消息,显然它与tkinter没有任何关系,但与matplotlib有关。我不知道这个问题是否相关。添加:

matplotlib.use('TkAgg')

解决了这个问题。不过我不知道为什么。 在此处找到解决方案:https://github.com/MTG/sms-tools/issues/29