Django同时托管mod_wsgi / apache与Python2.7和Python3

时间:2016-01-10 19:04:40

标签: python django apache mod-wsgi

我有一个用apache / mod_wsgi托管的Django网站。该站点最初是用Python2.7编写的,但我现在正在转换到Python3。

我有一个可用于外部测试的QA版本的站点,我想在Python3上运行该站点 - 而主要的生产站点在Python2.7上停留了一段时间。

这些网站目前提供两种不同的<virtualhost>设置。

<virtualhost>
...
WSGIDaemonProcess name processes=2 threads=15 display-name=%{GROUP}
...
</virtualhost>

这很有效。但是 - 当我尝试使用Python3时,我已经针对Python3开发环境编译了pip install新版本的mod_wsgi,但是从apache开始存在冲突 - 我只能有一个{{1}版本模块已加载。

是否可以在同一个Apache实例中同时运行基于Python2.7和Python3的mod_wsgi模块?或者这是真正改变托管配置(多个Apache实例?)或完全改变其他东西的时候了?

1 个答案:

答案 0 :(得分:0)

您需要使用2个不同的Apache实例。

根据mod_wsgi的创建者comment

  

这是操作系统限制。您无法将两个不同版本的Python库加载到一个进程中。 - Graham Dumpleton

那就是说,如果你的整个目的是从Python2切换到Python3,为什么你会尝试在一个进程上同时运行它们?如果切换到Python 3的所有内容,你不应该尝试测试吗?