我刚刚安装了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(),但是当我在脚本中运行它时,它将无法工作。
答案 0 :(得分:0)
我用Google搜索了错误消息,显然它与tkinter没有任何关系,但与matplotlib有关。我不知道这个问题是否相关。添加:
matplotlib.use('TkAgg')
解决了这个问题。不过我不知道为什么。 在此处找到解决方案:https://github.com/MTG/sms-tools/issues/29