2012-10-11 41 views
1

我正在构建一个使用Flask提供的Rest服务的应用程序。我想要它与Apache/mod_wsgi一起部署,如下所述:http://flask.pocoo.org/docs/deploying/mod_wsgi/使用zc.buildout构建Flask的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 

回答

0

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

简单的.ini文件:

 
[app:main] 
paste.app_factory = foo.app:make_app 

并在代码:

 
def make_app(global_conf, **local_conf): 
    return application 
+0

喜gawel,因为我不想将PasteMonster添加到我的wsgi堆栈中,我疯狂使用z3c.recipe.runscript自己的迷你配方(当你需要时该死的有用极端的东西,不支持已知的食谱)。 – user1737561

+0

如果它可以帮助别人,这是buildout.cfg文件中的内容。 < - 语言:郎 - 无 - > [wsgiscript] #施工杜脚本倒阿帕奇/ mod_wsgi的 配方= z3c.recipe.runscript 安装脚本= $ {扩建:目录}/buildouthelpers的.py:make_wsgi_script 更新脚本= $ {:安装脚本} #参数应用倒乐脚本 蛋= loix.xqueryproxy 脚本= $ {扩建:零件目录} /wsgiscript/xqueryproxy.wsgi 应用= Loix,坐落.xqueryproxy.app.app – user1737561

+0

我创建了一个基于'collective.recipe.modwsgi'的配方,它不需要粘贴 - https://pypi.python.org/pypi/mk.recipe.modwsgi – k4ml