作者tyc5116 (累人啊....)
看板Python
標題[問題] import異常
時間Sat Apr 30 22:22:05 2016
請問,目前我有一個用python 3.4寫的一個小程式
用IDLE執行一切正常,但換其它的IDE就不正常
測試了python for VS2013和eclipse
然後再把程式簡略作測試
from tkinter import * (1)
messagebox.showinfo(message="hello")
IDLE正常運作,但另外兩個IDE都顯示
NameError: name 'messagebox' is not defined
改成from tkinter import messagebox (2) 就正常
google了一下查到了這個這樣的解答
http://goo.gl/sek2qn
想請問如果要寫成(1)的情況下,要如何讓其它IDE也能正常運作?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.105.116
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1462026127.A.A8C.html
1F:→ kenduest: import tkinter 之後,用 print(tkinter) 看一下 05/01 00:09
2F:→ kenduest: 不同環境所載入的 tkinter 檔案目錄位置的差別 05/01 00:10
3F:→ kenduest: 看一下 tkinter module 目錄內是否有你說的 05/01 00:11
4F:→ kenduest: messagebox.py 這類檔案可以被 import 進來 05/01 00:11
5F:→ kenduest: python 3 記得應該有相關 py 檔案可以載入 05/01 00:13
6F:→ kenduest: python 2.x 部分應該是 shared library 等作法 05/01 00:13
7F:→ kenduest: 目錄結構方式與一般 py module 有點不同 05/01 00:13
8F:→ tyc5116: print後顯示的路徑,IDLE和VS是一樣的 05/01 00:15
9F:→ kenduest: 那就明確指定 import 的名稱,不要用 from xxx import * 05/01 00:18
10F:→ kenduest: 個人私底下也不建議用 * 這類語法在程式碼上 05/01 00:19
11F:→ kenduest: 避免命名空間被整個污染 05/01 00:19
12F:→ octantis: 要修改tkinter底下的init.py才可以(極度不推荐) 05/01 00:48