我正在尝试设置WAMP服务器。我已经让Apache正常工作了,而且我已经安装了mod_wsgi。
问题是,我正在为我的项目使用虚拟环境(使用virtualenv)。显然,mod_wsgi在查找我的Django安装时遇到了问题。
我试图了解如何让mod_wsgi与virtualenvs一起使用。文档似乎认为这是不可能的:
请注意,WSGIPythonHome指令只能在UNIX系统上使用,并且在Windows系统上不可用。这是因为在Windows系统上,Python DLL的位置似乎决定了Python查找Python库文件的位置。目前还不知道如何创建独立于Windows上的主要Python安装的独特基线环境。
从这里开始:mod_wsgi + virtualenv docs。
有没有人对如何使这项工作有所了解?
答案 0 :(得分:13)
您可以通过Python以编程方式激活环境,在导入任何其他内容之前将其添加到.wsgi文件中。
有时你不能或不想 使用由...创建的Python解释器 virtualenv。例如,在 mod_python或mod_wsgi环境, 只有一名翻译。
幸运的是,这很容易。你必须使用 要安装的自定义Python解释器 库。但是要使用库,你 只需要确定路径 正确。可以使用脚本 纠正路径。你可以设置 环境如:
activate_this = '/path/to/env/bin/activate_this.py' execfile(activate_this, dict(__file__=activate_this))
这将改变sys.path甚至 更改sys.prefix,但也允许你 使用现有的口译员。项目 在您的环境中将首先显示 在sys.path上,在全局项之前。 但是,这无法撤消 激活其他环境,或 已导入的模块。您 例如,不应该试图 在Web之前激活环境 请求;你应该激活一个 环境尽早,和 在这个过程中不要再做了。