我想通过Apache + mod_wsgi传递环境变量,以告诉我的应用程序是在开发环境还是生产环境中运行。(这需要在启动应用程序时发生,然后再发出任何请求。)例如:
<VirtualHost *:80>
...
SetEnv ENVTYPE production
WSGIScriptAlias /myapp /apps/www/80/wsgi-scripts/myapp/run.py
</VirtualHost>
<VirtualHost *:8080>
...
SetEnv ENVTYPE development
WSGIScriptAlias /myapp /apps/www/80/wsgi-scripts/myapp/run.py
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
基于对“ Apache SetEnv无法按预期与mod_wsgi一起工作 ”的答案,我已经进行了设置run.py,主要__init__.py是这样的:
from myapp import app as application
if __name__ == '__main__':
application.run(debug=True, threaded=True)
Run Code Online (Sandbox Code Playgroud)
import os
from myapp import app as _application
def application(environ, start_response):
os.environ['ENVTYPE'] = environ['ENVTYPE']
return _application(environ, start_response)
if __name__ == '__main__':
_application.run(debug=True, threaded=True)
Run Code Online (Sandbox Code Playgroud)
app = Flask(__name__)
app.config.from_object(__name__)
if os.environ.get('ENVTYPE') == 'production'
# Setup DB …Run Code Online (Sandbox Code Playgroud) 我一直在想我肯定会遗漏一些东西.cx_Oracle似乎是Python的主要Oracle DBAPI,并且可能仍在积极开发中.然而,在https://pypi.python.org/pypi/cx_Oracle/5.2上没有Python 3.5(Windows)的下载- 仅适用于Python 2.7和3.4的版本.非官方的Windows Python二进制文件页面(http://www.lfd.uci.edu/~gohlke/pythonlibs/)甚至没有cx_Oracle的部分.
我错过了一些明显的东西吗 Python 3.5已经推出了几个月.Windows上的Python 3.5真的没有二进制版本的cx_Oracle吗?