python - 使用带有 Mod_Python 和多个 Python 安装的 Apache 在 Virtualenv 中运行 Django

标签 python django apache mod-python virtualenv

我想使用 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/

相关文章:

python - 我可以在 1 个域上使用 2 个不同版本的 Python 拥有 2 个 Django 站点吗?

python - 如何从 html 和/或 python3 将数据添加/附加到 js 文件

python - 从 glTranslatef 切换到 gluLookAt 后,opengl 将不会呈现所需的输出

python - 使用 python -selenium 进行网页抓取

python - 带有多行标题 xls 文件的 Pandas read_csv

python - 自然键序列化以一对一字段为主键的Django模型

django - int() 参数必须是字符串或数字,而不是 'QueryDict'

django - 从 celerybeat 中删除未注册的任务

php - Symfony 路由 : Why does Symfony redirects my POST request?

apache - mod_rewrite 检查文件是否存在变体