我在运行arch linux的机器上使用带有mod_wsgi的Apache 2.2.21。我想使用具有https功能的django。我还安装了python2.7和python 3.2。该项目的django.wsdi文件如下。当我尝试使用https但不使用django访问示例文件时,它可以正常工作。当我尝试使用https从django项目获取文件时,我收到以下错误 - ImportError: No module named django.core.handlers.wsgi
当我cd到/ usr / lib / httpd / modules并执行ldd mod_wsgi.so时,我得到以下内容,表明它是针对python 3.2编译的。但是django不支持python 3.2只有2.7。
我该如何解决这个问题?
感谢任何帮助/指针。
$ldd mod_wsg.so
linux-vdso.so.1 => (0x00007fff769e1000)
libpython3.2mu.so.1.0 => /usr/lib/libpython3.2mu.so.1.0 (0x00007f82a3188000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f82a2f6b000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f82a2d66000)
libutil.so.1 => /lib/libutil.so.1 (0x00007f82a2b63000)
libm.so.6 => /lib/libm.so.6 (0x00007f82a28e1000)
libc.so.6 => /lib/libc.so.6 (0x00007f82a2559000)
/lib/ld-linux-x86-64.so.2 (0x00007f82a37e5000)
django.wsdi文件: 进口口 import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
path = '/to/mysite'
if path not in sys.path:
sys.path.append(path)
答案 0 :(得分:0)
安装针对Python 2.7编译的mod_wsgi版本。 mod_wsgi模块一次只能绑定到一个Python版本,并且不能动态更改使用的内容,而只能在编译时设置。
如果您确实想在不同时间使用不同的Python版本,则无法使用单个Apache / mod_wsgi实例。