我在单个文件夹中有一个python bottle应用程序,它是按功能组织的,我想将现有的cherrypy用法转换为apache mod_wsgi。
文件夹结构如下所示:
- project
-- app.py (loads the webserver class and runs it)
-- app
--- common
--- logs
--- modules
--- tools
--- web
---- webserver.py
这种结构的原因是因此可以在工具和Web中使用来自公共的代码而没有任何问题。进口都是以app.common.blah导入实用程序"的方式完成的。在尝试设置mod_wsgi时,它希望加载一个简单的应用程序。
是否可以使用这样的文件夹结构运行mod_wsgi?如果没有,是否有任何关于设置允许mod_wsgi的结构的建议,还有在工具和网络等文件夹之间共享公共实用程序的建议吗?
答案 0 :(得分:0)
来自Bottle deployment docs on Deployment:
您需要的只是一个提供应用程序对象的app.wsgi文件。 mod_wsgi使用此对象来启动应用程序,并且应该是与WSGI兼容的Python可调用对象。
档案
/var/www/yourapp/app.wsgi
:
import os
# Change working directory so relative paths (and template lookup) work again
os.chdir(os.path.dirname(__file__))
import bottle
# ... build or import your bottle application here ...
# Do NOT use bottle.run() with mod_wsgi
application = bottle.default_app()
在您的情况下,请编辑上面的代码段以导入可能在app.py