让Python 2.6识别Django
在一次艰难的尝试中,我想在CentOS 5.4上运行mod_wsgi,于是按照这里的说明添加了Python 2.6作为可选库。配置看起来没问题,但当我尝试连接服务器时,Apache的日志里出现了这个错误:
mod_wsgi (pid=20033, process='otalo', application='127.0.0.1|'): Loading WSGI script '...django.wsgi'.
[Sat Mar 27 16:11:45 2010] [error] [client 171.66.52.218] mod_wsgi (pid=20033): Target WSGI script '...django.wsgi' cannot be loaded as Python module.
[Sat Mar 27 16:11:45 2010] [error] [client 171.66.52.218] mod_wsgi (pid=20033): Exception occurred processing WSGI script '...django.wsgi'.
[Sat Mar 27 16:11:45 2010] [error] [client 171.66.52.218] Traceback (most recent call last):
[Sat Mar 27 16:11:45 2010] [error] [client 171.66.52.218] File "...django.wsgi", line 8, in <module>
[Sat Mar 27 16:11:45 2010] [error] [client 171.66.52.218] import django.core.handlers.wsgi
[Sat Mar 27 16:11:45 2010] [error] [client 171.66.52.218] ImportError: No module named django.core.handlers.wsgi
当我进入Python 2.6的命令行,尝试输入'import Django'时,系统提示找不到这个模块(ImportError)。不过,我的默认Python 2.4安装(仍然可以正常工作)可以成功导入Django。我该如何让Python 2.6找到Django呢?
2 个回答
0
我写了一篇文章,分享我在Redhat和CentOS上让Django运行的经验,点这里可以查看。我升级了我使用的Python版本,并开始使用init.d脚本。
0
你需要根据要使用的Python版本来安装Django。比如说,2.4和2.6的安装是完全分开的(这是必须的,因为它们在二进制和字节码格式上不兼容!)。我不太清楚CentOS提供了什么选项来处理这个问题——我建议你去Django的官网下载源代码,然后从源代码安装(简单来说就是:下载、解压、进入文件夹,最后运行一个简单的sudo python2.6 setup.py install
,或者用你自己安装的2.6版本的Python来运行)。作为一个开发者,我觉得从源代码安装更靠谱,尤其是对于那些对我工作核心非常重要的东西(比如Python版本和扩展)。