2011-06-20 13 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文件。

相关问题