2014-03-13 49 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'