Python 我一直遇到web.py的问题

Python 我一直遇到web.py的问题,python,debugging,web.py,Python,Debugging,Web.py,好的,实际上我之前对这行代码有一个问题,但我意识到,多亏了这个网站的一位同事的回答,我必须从我的目录中删除我的web.py文件夹,并重新安装更新版本。我决定使用开发者版本 这样做的时候,我注意到我最初运行的代码工作正常,但在我更新它并刷新浏览器之后,我得到了一个巨大的错误。我已经尝试过几次修复这个问题,我重新安装了大约10次。我进入debugger.py,没有找到真正的解决方案,因为每次我更新它时,代码都拒绝运行 为了更好地说明我的错误,这是我的代码: import web urls = (

好的,实际上我之前对这行代码有一个问题,但我意识到,多亏了这个网站的一位同事的回答,我必须从我的目录中删除我的
web.py
文件夹,并重新安装更新版本。我决定使用开发者版本

这样做的时候,我注意到我最初运行的代码工作正常,但在我更新它并刷新浏览器之后,我得到了一个巨大的错误。我已经尝试过几次修复这个问题,我重新安装了大约10次。我进入debugger.py,没有找到真正的解决方案,因为每次我更新它时,代码都拒绝运行

为了更好地说明我的错误,这是我的代码:

import web

urls = (
    '/(.*)', 'index'
)

app = web.application(urls, globals())
class index:
    def GET(self, name):
        print ("Hello", name, '. How are you today?')
if __name__=="__main__":
    app.run()
它运行时没有错误,但在首次运行后打开我的页面或刷新页面时,它会给出以下信息:

错误:

at/
“非类型”对象没有属性“名称”


现在请记住,我的第一次运行是有效的,如果我重新启动计算机或重新安装
web.py
,它每次都会第一次运行。但是在第一次运行之后,它只会在网页上显示上面的错误。

只有当您对脚本进行了一些更改时,才会出现这种情况。您可以停止脚本(
ctrl+c
)并重新启动它,一切正常

但我找到了解决办法。 在脚本顶部(导入后)写下:


因此,完整脚本(main2.py)应该如下所示:

import web
__name__ = 'main2'


urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world1!'

if __spec__ is None:
    app.run()

当您说“无错误运行”时,您是否能够在第一页返回“Hello.What you today?”,或者“无错误运行”只是指您执行python时没有错误,但在打开第一页时会导致错误?是的,它确实返回“Hello.What you today?”“从表面上看,您的代码很好,因此我相信您的本地文件命名方式可能与python库冲突。。。实现这一点的一种方法是,将此代码逐行编码到python解释器中&看看它在哪里中断。例如,您能否在python3提示符下键入
导入web
?如果是,将拾取哪个
web.py
(提示:导入后在提示符处键入
web
,它将显示路径。)
if __name__ == "__main__":
if __spec__ is None:
import web
__name__ = 'main2'


urls = ("/.*", "hello")
app = web.application(urls, globals())

class hello:
    def GET(self):
        return 'Hello, world1!'

if __spec__ is None:
    app.run()