Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用zc.buildout为Flask构建wsgi脚本_Python_Flask_Mod Wsgi_Buildout - Fatal编程技术网

Python 使用zc.buildout为Flask构建wsgi脚本

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

我正在构建一个应用程序,其中Rest服务由Flask提供支持。我想让它与Apache/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

最好的方法可能是使用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
创建了一个配方-