免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 29221 | 回复: 10

ImportError: No module named Tkinter [复制链接]

论坛徽章:
0
发表于 2009-07-28 22:40 |显示全部楼层
开始学python,现在有个问题。
ImportError: No module named Tkinter。
是我运行一个例子时产生的,是缺少Tkinter模块吗,请问高手怎么解决?是需要安装Tkinter吗?

例子源码:
from Tkinter import *

def frame(root,side):
w=Frame(root)
w.pack(side=side,expand=YES,fill=BOTH)
return w

def button(root,side,text,command=None):
w=Button(root,text=text,command=command)
w.pack(side=side,expand=YES,fill=BOTH)
return w

class Calculator(Frame):
def __init__(self):
  Frame.__init__(self)
  self.pack(expand=YES,fill=BOTH)
  self.master.title("Simple Calculator")
  self.master.iconname("calcl")
  
  display=StringVar()
  Entry(self,relief=SUNKEN,textvariable=display).pack(side=TOP,
    expand=YES,fill=BOTH)
  
  for key in ("123","456","789","-0."):
   deyF=frame(self,TOP)
   for char in key:
    button(deyF,LEFT,char,lambda w=display,s="%s"%char: w.set\
      (w.get()+s))
  
  opsF=frame(self,TOP)
  for char in "+-*/=":
   if char=='=':
    btn=button(opsF,LEFT,char)
    btn.bind("<ButtonRelease-1>",lambda e,s=self, w=display: \
      s.clac(w),'+')
   else:
    btn=button(opsF,LEFT,char,lambda w=display,c=char: w.set\
      (w.get()+' '+c+' '))
  
  clearF=frame(self,BOTTOM)
  button(clearF,LEFT,'Clr',lambda w=display: w.set(' '))

def clac(self,display):
  try:
   display.set(eval(display.get()))
  except SyntaxError:
   display.set("ERROR")
  except ZeroDivisionError:
   display.set("ZeroDivisionError")

if __name__=="__main__":
Calculator().mainloop()

产生的错误提示:
Traceback (most recent call last):
  File "E:\2009-7-25-Python\example\jia.py", line 1, in <module>
    from Tkinter import *
ImportError: No module named Tkinter

论坛徽章:
0
发表于 2009-07-29 08:12 |显示全部楼层
装一个把,可能是系统缺少tk,然后编译py时候不会装tk的哦

论坛徽章:
0
发表于 2009-07-29 08:20 |显示全部楼层
最保险的是你在开发目录里搜一下,有可能已经装了。tkinter的import记得变过的

论坛徽章:
0
发表于 2009-07-29 08:47 |显示全部楼层
LZ装的什么牌子的python 居然Tkinter 都没有

论坛徽章:
0
发表于 2009-07-29 09:19 |显示全部楼层
原帖由 guijia8427 于 2009-7-29 08:47 发表
LZ装的什么牌子的python 居然Tkinter 都没有

如果你的系统没有Tk的话,装Python是不会自动编译Tk/Tkinter模块的哦 (linux)

论坛徽章:
0
发表于 2009-07-29 09:33 |显示全部楼层
原帖由 smallfish_xy 于 2009-7-29 09:19 发表

如果你的系统没有Tk的话,装Python是不会自动编译Tk/Tkinter模块的哦 (linux)

linux 就不清楚了 不过现在linux都自带安装了python 应该也有TK吧

论坛徽章:
0
发表于 2009-07-29 15:53 |显示全部楼层
Tk 本来就是Python默认的GUI开发工具包,怎么会没有呢?

你在这段程序的第一行加上

#!/usr/bin/env python

再试试看呢?

论坛徽章:
0
发表于 2009-07-29 16:01 |显示全部楼层
Tk 本来就是Python默认的GUI开发工具包,怎么会没有呢?

你在这段程序的第一行加上

#!/usr/bin/env python

再试试看呢?

论坛徽章:
0
发表于 2009-07-29 23:21 |显示全部楼层
原帖由 sandermansxj 于 2009-7-29 16:01 发表
Tk 本来就是Python默认的GUI开发工具包,怎么会没有呢?

你在这段程序的第一行加上

#!/usr/bin/env python

再试试看呢?


首先谢谢你。
我用的是WinXP,python3.1环境,默认安装有Tkinter ,不知道问题出在哪里?
question.GIF

论坛徽章:
0
发表于 2009-07-30 08:21 |显示全部楼层
楼主用的是py3.1嘛,改成这个就行了。

from tkinter import *
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2021中国数据库技术大会

【数造未来】2021年10月18日-20日第十二届中国数据库技术大会
ITPUB、大会的会员您们好: 因目前国内疫情严峻,为响应北京市最新疫情防控要求,保障参会人员的健康和安全,组委会经协商决定:DTCC2021第十二届中国数据库技术大会延期至10月18日-20日(周一~周三)在北京国际会议中心举行,由此给各位带来的不便,敬请谅解!

大会官网
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP