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