【问题标题】:Python, Django mod_wsgi, virtualenv errror: ImportError: No module named os (paths are not correct)Python、Django mod_wsgi、virtualenv 错误:ImportError: No module named os(路径不正确)
【发布时间】:2015-01-15 21:25:25
【问题描述】:

我正在尝试使用 mod_wsgi 在 Apache 上设置 Django 应用程序,但我不断收到错误消息:

ImportError: No module named os

我在 Centos 上。 Python的系统版本是2.6,但我已经要求系统管理员安装2.7。 Mod_wsgi 是从包管理器安装的,因此可能使用的是 python 2.6。

wsgi.conf 的 Apache 文件包含以下内容:

LoadModule wsgi_module modules/mod_wsgi.so

WSGIPythonHome /var/www/html/mysite/virtualenv_2.7/bin
WSGIPythonPath /var/www/html/mysite/collaboratorimport/webform:/var/www/html/mysite/virtualenv_2.7/lib/python2.7/site-packages

在 wsgi.py 脚本的顶部,我打印系统路径

import sys 
print "\n".join(sys.path)

错误日志包含以下消息,表明 mod_wsgi 正在寻找 python2.6 库:

[Tue Nov 18 16:45:31 2014] [error] mod_wsgi (pid=2148): Unable to import 'site' module.
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python26.zip
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/plat-linux2
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/lib-tk
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/lib-old
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/lib-dynload
[Tue Nov 18 16:45:31 2014] [error] Traceback (most recent call last):
[Tue Nov 18 16:45:31 2014] [error]   File "/var/www/html/mysite/collaboratorimport/webform/webform/wsgi.py", line 14, in <module>
[Tue Nov 18 16:45:31 2014] [error]     import os
[Tue Nov 18 16:45:31 2014] [error] ImportError: No module named os

所以看起来 mod_wsgi(或其他东西)正在将 bin/lib64/python2.6 附加到我给它的路径中。这是因为它希望我使用python2.6吗?

我可以将我的 virtualenv (python2.7) 与需要 python2.6 的 mod_wsgi 一起使用吗?如何修复路径,使它们指向正确的位置?

【问题讨论】:

    标签: python django python-2.7 virtualenv mod-wsgi


    【解决方案1】:

    不,你不能像这样混搭。您需要安装针对 Python 2.7 编译的 mod_wsgi 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-03
      • 2012-08-24
      • 2017-09-05
      • 2013-06-27
      • 1970-01-01
      • 2011-04-04
      • 2015-02-27
      • 1970-01-01
      相关资源
      最近更新 更多