如何在wsgi文件中设置apache2环境变量(Flask)

时间:2015-11-03 09:54:05

标签: python apache flask ubuntu-14.04

目前我使用Flask微框架。 如何在wsgi文件中设置环境变量? 我在apache2 envvars文件中这样做了:

export PRODROOT=${PRODROOT:-/home/peter/Lv-164.UI/ecomap}
export PYSRCROOT=${PYSRCROOT:-${PRODROOT}/src/python}
export CONFROOT=${CONFROOT:-${PRODROOT}/etc}
export PYTHONPATH=${PRODROOT}/src/python

我如何在wsgi文件中执行此操作? 谢谢你的关注。

1 个答案:

答案 0 :(得分:3)

wsgi文件只是一个Python文件,因此您可以使用os.environ为代码设置环境变量。例如。在你的wsgi文件中:

import os
os.environ['PRODROOT'] = '/home/peter/Lv-164.UI/ecomap'
os.environ['PYSRCROOT'] = os.environ['PRODROOT'] + '/src/python'
os.environ['CONFROOT'] = os.environ['PRODROOT'] + '/etc'
os.environ['PYTHONPATH'] = os.environ['PRODROOT'] + '/src/python'

from yourpackage.yourapp import app as application

我不确定设置PYTHONPATH是否适用于此方案(尽管值得一试)。如果您正在使用mod_wsgi,则可以使用WSGIPythonPath指令进行设置。

https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIPythonPath