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

Sab*_*obi 1 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
Run Code Online (Sandbox Code Playgroud)

我如何在 wsgi 文件中做到这一点?感谢您的关注。

foz*_*foz 5

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
Run Code Online (Sandbox Code Playgroud)

我不确定该设置PYTHONPATH在这种情况下是否有效(尽管值得一试)。如果您正在使用,mod_wsgi则可以使用WSGIPythonPath指令进行设置。

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