2014-03-13 52 views
2

通过优化模式我的意思是没有断言,可能没有文档字符串,.pyo而不是.pyc在Python优化模式下运行gunicorn

总之我有标准样式(gunicorn 'module.wsgi:application'

我一直无法找到的文档或其他地方参考网上一个Django项目通过gunicorn(v18.0)捉迷藏。

回答

3

如果你真的明白你在做什么,你可以设置PYTHONOPTIMIZE环境变量。

# e.g. 
# same as -O 
export PYTHONOPTIMIZE=1 
# same as -OO 
export PYTHONOPTIMIZE=2 

参考:Python doc: Command line and environment

PYTHONOPTIMIZE

如果这被设置为一个非空字符串它相当于 于指定-O选项。如果设置为整数,则相当于 指定-O多次。

但通常你不应该这样做!

Deestan的answer另一个SO问题“为Python断言最佳做法”实在是太棒了:

断言应该被用来测试应该从未发生过条件。

目的是在崩溃的早期在一个损坏的程序状态的情况下。

通常django应用程序使用许多其他库。当发生严重事故时,这些图书馆认为应用程序应该立即崩溃,他们遵循上述最佳做法并使用断言。你不想打破这个。

0

虽然它不是特别优雅,但它可以工作。

python -O `which gunicorn` 'module.wsgi:application'