2013-09-26 40 views
4

我正在運行Windows 7 32位。我已經安裝了Python 3.2.2並選擇了每個安裝模塊(包括Tcl/Tk)。在我的電腦上,我可以通過雙擊.py文件來運行腳本,它會發現我的Tkinter導入沒問題。如果我從命令行運行它,它說ImportError: No module named 'Tkinter'。我將這個腳本傳遞給了一個同樣也以相同方式安裝的同事,即使雙擊也無法運行腳本。同樣的Tkinter問題。我們的PATH與C:\ Python33是第一個項目相同,tkinter在lib文件夾中顯示。我正在用盡想法。這是怎麼回事?爲什麼Tkinter如此挑剔與現有?Tkinter未找到

更新: 顯然Tcl/Tk不包括Tkinter。它爲我工作的原因是因爲我通過我們公司的下載系統安裝了一個特殊的Python軟件包,恰巧包含它。此版本已鏈接到.py擴展名。然而,在命令提示符下,我更新的Python(使用Tcl/Tk但沒有Tkinter)是我的PATH變量所選擇的python。我的同事沒有安裝這個特殊的軟件包,所以它沒有爲她工作。我原以爲這是我的Python 3.3運行腳本,但它不是這就是爲什麼它看起來像它爲我工作。也就是說,如果有其他人遇到了這個問題,請查看sys.executable和sys.version,如下所示,以確定發生了什麼!

回答

7

您可能同時擁有Python 2.x和Python 3.x.並且py擴展與Python 2.x解釋器相關聯。而你的python腳本被設計爲使用Python 2.x來運行。

在Python 3中,Tkinter模塊被重命名爲tkinter(小寫)。


製作一個腳本,如下所示,然後通過單擊它運行並在命令中運行它。你可能會得到不同的結果:

import sys 
print(sys.version) 
input() 
+0

打字 「蟒」 在命令提示所示:Python的3.3.2(V3.3.2:d047928ae3f6 5月16日到2013年,0點03分43秒)[MSC v.1600 32位(Intel)]在win32 – CodeMonkey

+0

@CodeMonkey,我更新了答案。一旦通過雙擊運行它並在命令中運行它。 – falsetru

+0

但我們都安裝了兩個版本。至於大小寫......事實證明,我的tkinter文件夾既不包含tkinter也不包含Tkinter。所以...它真的從哪裏來? – CodeMonkey