WSGIPythonPath和WSGIPythonHome的區別

WSGIPythonPath和WSGIPythonHome是apache的python運行時模塊mod_wsgi中定義的兩個僞指令,初學django的朋友可能會弄不明白這兩個僞指令的用途,下面介紹一下他們的用途及區別:python

WSGIPythonPath用於指定python的搜索目錄,其值是一系列的目錄, 目錄之間使用冒號(unix-like)或者分號(windows)分隔,例如/usr/local/path1:/usr/lcoal/path2或者D:\path1;D:\path2. 若是目錄包含空格則整個值須要用雙引號括起來,該僞指令至關於執行了python的site.addsitedir()函數,該函數的功能是在初始化python時首先執行sys.path.append(),而後再處理目錄中的*.pth文件.當apache找不到你的django工程時(此時會報500錯誤)能夠嘗試用該僞指令手動指定django工程的路徑(django初學者能夠直接指定爲manage.py文件所在的目錄,這樣mod_wsgi就能夠找到你建立的django apps了), 若是不想設置該僞指令,你也能夠在你的django工程中的wsgi.py文件中加上sys.path.append('/your/django/project/path'), 注意這裏的path必須使用絕對路徑.apache

WSGIPythonHome用於指定python解釋器路徑, 假如你的環境中有多個python解釋器,你能夠經過設置該僞指令的值來指定具體的python解釋器,其值爲sys.prefix或者sys.prefix:sys.exec_prefix,即當sys.prefix的值與sys.exec_prefix一致時能夠省略:sys.exec_prefix(這兩個值以冒號分隔). 若是該值沒有被正確設置則可能會報500錯誤.django

注意mod_wsgi和mod_python可能會發生衝突, django官方推薦使用較新的mod_wsgi模塊來取代過期的mod_pythonwindows

相關文章
相關標籤/搜索