2012-10-11 46 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