配置错误:导入中间件django.middleware.common时出错:“没有名为_md5的模块”
我在Ubuntu 9上运行Apache2,并安装了python 2.6.2。当我尝试访问我的django应用程序的某个页面时,出现了以下错误:
文件 "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py",第42行,在load_middleware中引发异常:exceptions.ImproperlyConfigured('导入中间件时出错 %s: "%s"' % (mw_module, e))。错误信息:导入中间件 django.middleware.common 时出错:“没有名为 _md5 的模块”
这是我的wsgi文件:
import os, sys sys.path.append('/etc/apache2/sites-available/') os.environ['DJANGO_SETTINGS_MODULE'] = 'dynamicuddi.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler()
根据我所了解,我觉得这可能是python路径的问题,但我还没有看到一个有效的解决方案。有没有什么想法?
提前谢谢你。
3 个回答
我觉得这不是路径问题,就像这里提到的那种。
我认为它能够找到django.middleware.common这个模块并尝试导入,但这个模块在导入“_md5”时出现了ImportError(导入错误)。
- 你可以看看这个比较长的讨论,Graham Dumpleton在里面试图解决这个问题:http://www.mail-archive.com/django-users@googlegroups.com/msg30630.html
如果不行,我建议你把settings.py文件中MIDDLEWARE_CLASSES这个元组的内容发出来。- 另外,你现在使用的Django版本是什么?
试着把你的项目目录和它的父目录添加到Python的路径中。
sys.path.append('path_to_dynamicuddi_project')
sys.path.append('path_to_dynamicuddi_parent_dir')
所以总结一下,我们最后选择重新安装操作系统。我知道这样做有点偷懒,但确实解决了我们的问题。
感谢大家的帮助!