You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows虚拟环境中django-admin --version报错,如何解决?

解决Django 1.9与Python 3.11的兼容报错问题

问题原因

Django 1.9是2015年发布的老旧版本,仅支持Python 2.7、3.4、3.5版本,完全不兼容Python 3.11。报错中的ImportError是因为Python 3.10及以上版本将Iterator、Mapping等抽象基类从collections模块迁移到了collections.abc模块,而Django 1.9的代码仍在从旧路径导入这些类。

解决方案

方案一:降级Python到兼容版本(推荐)

这是最稳妥的解决方式,完全匹配Django 1.9的官方支持环境:

  • 退出当前虚拟环境:deactivate
  • 删除现有虚拟环境文件夹:直接删除C:\Users\DELL\env
  • 安装Python 3.5(可从Python官方渠道下载对应Windows版本)
  • 创建基于Python 3.5的新虚拟环境:python3.5 -m venv new_env
  • 激活新虚拟环境:new_env\Scripts\activate
  • 重新安装Django 1.9:pip install django==1.9
  • 执行django-admin --version即可正常显示版本号。

方案二:修改Django源码临时兼容(不推荐)

仅作为临时测试用,后续使用中可能出现更多兼容问题:

  • 找到报错文件:C:\Users\DELL\env\Lib\site-packages\django\db\models\sql\query.py
  • 打开文件,将第11行的导入代码修改为:
    from collections import Counter, OrderedDict
    from collections.abc import Iterator, Mapping
    
  • 保存文件后,重新执行django-admin --version即可临时解决该报错。

内容的提问来源于stack exchange,提问作者Gurpreet Singh Grover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 10:50:14