Python 使用zc.buildout为Flask构建wsgi脚本
我正在构建一个应用程序,其中Rest服务由Flask提供支持。我想让它与Apache/mod_wsgi一起部署,如下所述: 但我一直在构建Apache所需的myapp.wsgi文件。更具体地说,我无法实现对sys.path的调整,因为我的应用程序所需的构建中的所有鸡蛋都可以包含在内。我发现的配方需要PasteScript和PasteDeploy,而我不希望它们出现在我的软件堆栈中Python 使用zc.buildout为Flask构建wsgi脚本,python,flask,mod-wsgi,buildout,Python,Flask,Mod Wsgi,Buildout,我正在构建一个应用程序,其中Rest服务由Flask提供支持。我想让它与Apache/mod_wsgi一起部署,如下所述: 但我一直在构建Apache所需的myapp.wsgi文件。更具体地说,我无法实现对sys.path的调整,因为我的应用程序所需的构建中的所有鸡蛋都可以包含在内。我发现的配方需要PasteScript和PasteDeploy,而我不希望它们出现在我的软件堆栈中 import sys sys.path[0:0] = [ # How to compute the path
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
最好的方法可能是使用PasteDeploy和collective.recipe.modwsgi Simple.ini文件: [app:main] paste.app_factory = foo.app:make_app [应用程序:main] paste.app\u factory=foo.app:make\u应用 在您的代码中: def make_app(global_conf, **local_conf): return application def生成应用程序(全局配置,**本地配置): 退货申请
您好,gawel,因为我不想将PasteMonster添加到我的wsgi堆栈中,所以我使用z3c.recipe.runscript制作了我自己的迷你配方(当您需要已知配方不支持的极端材料时非常有用)。如果它可以帮助其他人,下面是buildout.cfg文件中的内容。[wsgiscript]#为Apache/modèwsgi recipe=z3c.recipe.runscript安装脚本=${buildout:directory}/buildouthelpers.py:makeèwsgiŠscript更新脚本=${:install script}参数为le script egg=loix.xqueryproxy脚本=${buildout:parts directory}/wsgiscript/xqueryproxy.wsgi app=loix.xqueryproxy.app.appI基于不需要粘贴的
collective.recipe.modwsgi
创建了一个配方-