我正在考虑在我的代码中添加一些assert
语句,并希望能够将参数传递给uwsgi,以便能够关闭在生产中评估这些语句。我似乎无法弄清楚optimize option in uwsgi如何映射到-O command line value for python。 uWSGI的选项采用整数但没有描述它如何解释或使用该整数,而不是说“设置python优化级别”。但是,python文档从不提及整数,除了与环境变量的关系,只有整数相当于多个-O
参数(我无法看到任何描述,但我怀疑它可能做类似-OO
)
那么,如果我还想删除文档字符串,我应该将optimize
值设置为简单地关闭断言语句以及应该设置什么?并将其设置为0(零)默认值?
答案 0 :(得分:3)
我通过将其设置为零来测试它,并且调试仍处于打开状态,但将其设置为大于零的任何数字都会关闭调试。
我的代码看起来像这样
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
assert(not __debug__)
return "Hello World"
我的电话看起来像这样
uwsgi --http 0.0.0.0:8000 --wsgi-file app.py -O 1
EDIT 我还在函数中添加了一个doc字符串,并将其添加到app.py文件的末尾
print "DOC STRING: %s" % application.__doc__
在-O设置为1和2的情况下进行测试,使用1,我得到了一个doc字符串,任何值都大于1我得到了无。