Python 带wsgi的dotcloud上的Web.py

Python 带wsgi的dotcloud上的Web.py,python,wsgi,web.py,Python,Wsgi,Web.py,我正在尝试在dotcloud上部署我的web.py应用程序,但不知道怎么做 我很好地完成了本教程: 然后我看着 python服务可以承载任何python 与 WSGI标准 这包括所有现代pythonweb应用程序 框架:Django、Pylons、web.py、, web2py等 python使用Nginx+uWSGI运行, 由主管管理。静态资产 由Nginx直接提供服务,例如 更好的表现 DotCloud依赖于成熟的工具和约定来构建您的应用程序。 使任何应用程序适应在DotCloud上运行

我正在尝试在dotcloud上部署我的web.py应用程序,但不知道怎么做

我很好地完成了本教程:

然后我看着

python服务可以承载任何python 与 WSGI标准

这包括所有现代pythonweb应用程序 框架:Django、Pylons、web.py、, web2py等

python使用Nginx+uWSGI运行, 由主管管理。静态资产 由Nginx直接提供服务,例如 更好的表现

DotCloud依赖于成熟的工具和约定来构建您的应用程序。 使任何应用程序适应在DotCloud上运行应该很简单

部署应用程序时,请使用DotCloud 查找名为wsgi.py的文件。制作 确保在根目录下创建该文件 您的应用程序目录


谷歌搜索“web.py wsgi”会得到一系列令人困惑的指令。我在页面上尝试了很多建议,但都没有成功

最有希望的前景似乎是创建一个名为wsgi.py的文件,如下所示:

import web

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

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

app = web.application(urls, globals(), autoreload=False)
application = app.wsgifunc()
我还在它旁边创建了一个空的
\uuuu init\uuuu.py

然后我做了:

dotcloud create jca_hello.py
dotcloud deploy -t python jca_hello.www
dotcloud push jca_hello.www .
但现在当我去看的时候,我看到的是:

uWSGI错误

找不到wsgi应用程序


有什么想法吗?

我是web.py的用户,顺便说一句,我在DotCloud工作:-)

我们使用uWSGI来运行您的WSGI应用程序。关键是uWSGI正在寻找一个名为“application”的变量

以下是我通常做的:

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

if __name__ == '__main__':
    app.run()
else:
    web.config.debug = False
    application = app.wsgifunc()
因此,您可以在本地计算机上继续使用您的应用程序:

$ python ./wsgi.py
并在禁用调试模式的情况下将其推送到生产环境(当然是在DotCloud上)

以下是已更正的wsgi.py文件:

import web

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

class Hello(object):

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

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

if __name__ == '__main__':
    app.run()
else:
    web.config.debug = False
    application = app.wsgifunc()
小心不要让您的wsgi.py正确地出现在您的approt中

另外,请确保您的批准中有一个名为“requirements.txt”的文件,其中包含:

web.py

同时,如果您的部署有任何问题,请毫不犹豫地联系DotCloud支持部门。

。它起作用了。我必须说,我没有期望在2小时内从dotcloud开发人员那里得到详细的答案:)原始问题中的“应用程序”变量已经存在。不