使用 uwsgi + web.py 遇到 “--no python application found, check your startup logs for errors--”

转载请注明来源 http://blog.csdn.net/imred/article/details/49402459
准备玩玩用python写后台(实际上是要写软工作业orz),设置好nginx和uwsgi后,又安装了web.py。按照官网写了测试脚本后,访问的时候总是提示Internal Server Error,日志中的记录是“–no python application found, check your startup logs for errors–”。然后用了一上午的时间,解决了这个问题。
web.py官方测试脚本是:

import web

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

class hello:        
    def GET(self, name):
        if not name: 
            name = 'World'
        return 'Hello, ' + name + '!'

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

然而这个脚本是假定没有uwsgi这样的程序作为接口的,所以uwsgi是无法使用这个脚本产生的数据的。
解决方法很简单:添加一行“application = app.wsgifunc()”,最后的代码是这样的:

import web

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

class hello:        
    def GET(self, name):
        if not name: 
            name = 'World'
        return 'Hello, ' + name + '!'

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

然后就搞定了。
转载请注明来源 http://blog.csdn.net/imred/article/details/49402459

你可能感兴趣的:(nginx,server,python,web.py,uwsgi)