我想使用 mod_python 在 Apache 中使用 virtualenv 在服务器上运行 Django 项目。现在我知道推荐使用的 apache 模块是 mod_wsgi,但我现在不想安装它。
服务器上默认安装的python是python2.4,服务器上的其他一些网站使用的是python2.4。因为我的项目是基于 python2.6 构建的,所以我使用“make altinstall”将其安装在/usr/local/中的 python2.4 旁边。 我使用这个网站来设置我的 apache conf 文件:http://mydjangoblog.com/2009/03/30/django-mod_python-and-virtualenv/ .
我的问题是:有没有办法指定它(可能是mod_python)应该使用python2.6而不是python2.4? 如果无法使用 mod_python 在一个 apache 中运行 2 个 python 版本,是否可以使用 mod_wsgi?或者在一个 apache 安装中是否可以使用 mod_python 和我使用 mod_wsgi 来安装另一个站点?
最佳答案
不,你不能这样做。 mod_python 是用特定的 Python 版本预编译的。如果您想更改该版本,则必须重新编译 mod_python - 如果您这样做,您不妨安装 mod_wsgi。
使用 mod_wsgi 可以实现这一点,因为它不会将解释器嵌入 Apache 本身,因此它并不关心您使用的版本。让 virtualenv 与 mod_wsgi 一起工作非常容易 - 您只需在 .wsgi
脚本中激活 virtualenv 即可:
activate_this = os.path.join(path_to_my_site, "bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))
关于python - 使用带有 Mod_Python 和多个 Python 安装的 Apache 在 Virtualenv 中运行 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503793/