2011-06-20 15 views
6

我用web.py寫的小的HelloWorld網站,但是當我運行python code.py我得到一個錯誤信息:Web.py - AttributeError的:「模塊」對象有沒有屬性「應用」

Traceback (most recent call last): File "E:\Python25\webpy\web\mysite.py", line 1, in <module> 
    import web File "E:\Python25\webpy\web\web.py", line 4, in <module> 
    app = web.application(urls, globals()) AttributeError: 'module' object has no attribute 'application' 

這裏是我的代碼(從web.py教程中粘貼):

import web 

urls = ('/','Index', 
) 

class Index: 
    def GET(self): 
    return "Hello,world!" 

app=web.application(urls,globals()) 

if __name__=="__main__": 
    app.run(

PS:web.py版本是0.35。

回答

9

您正在碰撞名稱衝突。您將您的軟件包命名爲web,並嘗試導入模塊web。

我假設這是一個包?

\webpy\web\mysite.py

如果是這樣,當你做import web您導入包而不是實際的web.py.重命名它,或重新排序你的pythonpath。

+0

你的意思是我的網頁模塊與Web.py相沖突但是我找不到我的web.py :( – Xhinking

+0

你在webpy \ web \?中有\ _ \ _init \ _ \ _。py嗎? – Nix

+0

是的,我在webpy \ web \ – Xhinking

1

這個工作在我的情況:在的app.yaml文件,替換

- url: /.* 
    script: test.application 

爲此,

- url: /.* 
    script: test.app 

這解決了名稱衝突。

1

每從上述用戶的建議,我已經把我的意見變成一個答案,以提高其知名度:

如果您首先通過調用文件web.py,而不是code.py如Python的教程開始,你可能還在您編碼的文件夾中創建了一個web.pyc「字節碼」文件。發現名稱衝突後,請確保您還刪除了web.pyc文件。

相關問題