我有一个用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实例?)或完全改变其他东西的时候了?
答案 0 :(得分:0)
您需要使用2个不同的Apache实例。
根据mod_wsgi的创建者comment:
这是操作系统限制。您无法将两个不同版本的Python库加载到一个进程中。 - Graham Dumpleton
那就是说,如果你的整个目的是从Python2切换到Python3,为什么你会尝试在一个进程上同时运行它们?如果切换到Python 3的所有内容,你不应该尝试测试吗?