当 运行 一个 python 应用程序在 OpenShift 上执行时会执行什么?

What gets executed when running a python app on OpenShift?

当 运行 在 OpenShift 上运行 Flask 应用程序时,我对最初 运行 获取什么文件感到困惑。有一个创建 wsgiref.simple_server 的 wsgi.py 文件,但上面的评论说它仅用于测试。谁能解释应用程序是如何执行的?我很难理解这个过程,以及 Web 服务器在图片和应用程序代码中的确切位置。

wsgi.py:

import os

virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
    execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
    pass
#
# IMPORTANT: Put any additional includes below this line.  If placed above this
# line, it's possible required libraries won't be in your searchable path
#

from flaskapp import app



#
# Below for testing only
#
if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    host = app.config['HOST_NAME']
    ip = app.config['HOST_IP']
    httpd = make_server(host, ip, app)
    httpd.handle_request()

flaskapp.py

import os

virtenv = os.path.join(os.environ.get('OPENSHIFT_PYTHON_DIR','.'), 'virtenv')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
    execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
    pass
#
# IMPORTANT: Put any additional includes below this line.  If placed above this
# line, it's possible required libraries won't be in your searchable path
#

from flaskapp import app



#
# Below for testing only
#
if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    host = app.config['HOST_NAME']
    ip = app.config['HOST_IP']
    httpd = make_server(host, ip, app)
    httpd.handle_request()

在这里查看我在另一个 SO 问题中的回答。

How to create app using pyramid into openshift?

我认为我在 github 示例中的最后一次提交使用了 "wsgi.py" 入口点。我更喜欢使用 "app.py" 作为入口点。我发现它问题更少,更可靠。

继续将 "app.py disabled" 重命名为 "app.py" 并删除 wsgi.py。

我在示例中使用金字塔而不是烧瓶,但设置相似。