Windows 8.1 x64-python 3.4.1(pyzo_u发行版-2014a.win64)-阿帕奇httpd-2.4.10-win64-mod_wsgi-3.5.ap24.win-amd64-py3.4
如何设置多条路径?
似乎只有最后一条路被设定了。

WSGIPythonPath C:/test1;C:/test2;C:/test3

在apache日志文件(带有loglevel信息)中:
mod_wsgi (pid=3568): Initializing Python.
mod_wsgi (pid=3568): Attach interpreter ''.
mod_wsgi (pid=3568): Adding '(null)' to path.
mod_wsgi (pid=3568): Adding '(null)' to path.
mod_wsgi (pid=3568): Adding 'C:/test3' to path.
AH00354: Child: Starting 64 worker threads.

结果相同:
WSGIPythonPath "C:/test1;C:/test2;C:/test3"

这不起作用:
WSGIPythonPath "C:/test1";"C:/test2";"C:/test3"

因为wsgipythonpath只接受一个参数。
谢谢。

最佳答案

作为使用wsgipythonpath指令添加目录的替代方法,您可以从代码中将目录添加到path:

import sys, os
paths = ['C:\test1', 'C:\test2', 'C:\test3']
for path in paths:
    if path not in sys.path:
        sys.path.append(path)

或者,如果需要添加当前目录(flask/webapp2并不少见),可以将
您可以将以下内容放在main.py中其他导入的上方:
import sys, os
path = os.path.dirname(os.path.abspath(__file__))
if path not in sys.path:
    sys.path.append(path)

如果您的apache服务器配置类似于:
WSGIScriptAlias /scripts "C:/web/wsgi_scripts/main.py"
WSGICallableObject app

<Directory "C:/web/wsgi_scripts">
<Files main.py>
Require all granted
</Files>
</Directory>

09-03 17:31