Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programming in Python: Getting "name 'Tk' is not defined" only at Command Prompt, works in IDLE

A question from a beginner just starting with Tkinter. I downloaded it and wrote the tutorial Hello World program, and it ran fine in IDLE. However, when I saved the program and ran it using command prompt, they all returned NameError: name 'tk' is not defined. I also tried going to the main Python command program and manually entering the code, and it worked fine.

It only fails to recognize Tk() when run through command prompt or through double clicking.

I have no idea what could be going on here.

The code is simply the basic Hello World program that all tutorials teach you to write:

from Tkinter import *
root = Tk()
w = Label(root, text="Hello World")
w.pack()

root.mainloop()

Also because I know everybody is going to answer with it, I am not using 3.x and I have tried running the program with calling it "tkinter," it simply doesn't find the module.

Apparently this program works on other people's computers, so it's not a problem with the code itself. Does anyone have any idea what could be causing this issue?

like image 955
user1066460 Avatar asked Nov 26 '11 02:11

user1066460


2 Answers

Works fine in my computer .

Since You said : NameError: name 'tk' is not defined.

here tk with a small 't'

You might have written

root = tk()

instead of :

root = Tk()

Check Capital 'T'

like image 72
anshul410 Avatar answered Oct 13 '22 02:10

anshul410


The solution that I found is that do not give the name of your file tkinter.

like image 25
Zia Avatar answered Oct 13 '22 02:10

Zia