配置错误:导入中间件django.middleware.common时出错:“没有名为_md5的模块”

2 投票
3 回答
7204 浏览
提问于 2025-04-16 11:19

我在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 个回答

1

我觉得这不是路径问题,就像这里提到的那种

我认为它能够找到django.middleware.common这个模块并尝试导入,但这个模块在导入“_md5”时出现了ImportError(导入错误)。

  1. 你可以看看这个比较长的讨论,Graham Dumpleton在里面试图解决这个问题:http://www.mail-archive.com/django-users@googlegroups.com/msg30630.html
  2. 如果不行,我建议你把settings.py文件中MIDDLEWARE_CLASSES这个元组的内容发出来。
  3. 另外,你现在使用的Django版本是什么?
1

试着把你的项目目录和它的父目录添加到Python的路径中。


sys.path.append('path_to_dynamicuddi_project')
sys.path.append('path_to_dynamicuddi_parent_dir')

0

所以总结一下,我们最后选择重新安装操作系统。我知道这样做有点偷懒,但确实解决了我们的问题。

感谢大家的帮助!

撰写回答