【问题标题】:Building the wsgi script for Flask with zc.buildout使用 zc.buildout 为 Flask 构建 wsgi 脚本
【发布时间】:2012-10-11 09:52:53
【问题描述】:

我正在构建一个带有 Flask 支持的 Rest 服务的应用程序。我想用 Apache / mod_wsgi 部署它,如下所述:http://flask.pocoo.org/docs/deploying/mod_wsgi/

但我无法构建 Apache 所需的 myapp.wsgi 文件。更具体地说,我无法调整 sys.path 以便我的应用程序所需的构建中的所有鸡蛋都可以包含在内。我发现的配方需要我不想在我的软件堆栈中使用的 PasteScript 和 PasteDeploy。

import sys
sys.path[0:0] = [
    # How to compute the paths to add since I need 'foo' and 'bar' eggs
    # that are created by buildout ?
    ]
from foo import app as application

【问题讨论】:

    标签: python flask mod-wsgi buildout


    【解决方案1】:

    最好的方法可能是使用 PasteDeploy 和collective.recipe.modwsgi http://pypi.python.org/pypi/collective.recipe.modwsgi/

    简单的 .ini 文件:

    [应用程序:主要] paste.app_factory = foo.app:make_app

    在你的代码中:

    def make_app(global_conf, **local_conf): 退货申请

    【讨论】:

    • 嗨 gawel,因为我不想将 PasteMonster 添加到我的 wsgi 堆栈中,所以我使用 z3c.recipe.runscript 为我自己的迷你食谱发疯了(当你需要已知不支持的极端东西时非常有用食谱)。
    • 如果它可以帮助其他人,这是 buildout.cfg 文件中的内容。 [wsgiscript] # 构建du script pour Apache / mod_wsgi recipe = z3c.recipe.runscript install-script = ${buildout:directory}/buildouthelpers.py:make_wsgi_script update-script = ${:install-script} # Paramètres pour le script egg = loix.xqueryproxy script = ${buildout:parts-directory}/wsgiscript/xqueryproxy.wsgi app = loix.xqueryproxy.app.app
    • 我创建了一个基于 collective.recipe.modwsgi 的配方,不需要粘贴 - pypi.python.org/pypi/mk.recipe.modwsgi
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 1970-01-01
    • 2018-06-23
    • 2017-06-22
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多