news 2026/6/10 23:24:41

ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘ 问题解决

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ImportError: cannot import name ‘OrderedDict‘ from ‘typing‘ 问题解决

ImportError: cannot import name ‘OrderedDict’ from ‘typing’ 问题解决

运行model.py时报错了 E:\004---CSDN_resource>C:\Users\cxx\anaconda3\Scripts\activate&&conda activate python37(python37)E:\004---CSDN_resource>C:\Users\cxx\anaconda3\envs\python37\python.exe e:/004---CSDN_resource/02_resnet50_image_classification/model.py Traceback(most recent call last): File"e:/004---CSDN_resource/02_resnet50_image_classification/model.py", line3,in<module>from torchvisionimportmodels File"C:\Users\cxx\anaconda3\envs\python37\lib\site-packages\torchvision\__init__.py", line5,in<module>from torchvisionimportdatasets, io, models, ops, transforms, utils File"C:\Users\cxx\anaconda3\envs\python37\lib\site-packages\torchvision\models\__init__.py", line16,in<module>from .maxvitimport* File"C:\Users\cxx\anaconda3\envs\python37\lib\site-packages\torchvision\models\maxvit.py", line3,in<module>from typingimportAny, Callable, List, Optional, OrderedDict, Sequence, Tuple ImportError: cannotimportname'OrderedDict'from'typing'(C:\Users\cxx\anaconda3\envs\python37\lib\typing.py)(python37)E:\004---CSDN_resource>

这个报错非常关键,而且你其实已经踩到了一个“版本地雷”
结论我先给你:

不是你的model.py写错了
也不是 ResNet50 的问题
是 Python 3.7 + torchvision 版本不兼容导致的

下面我一步一步把原因、判断依据、以及最稳妥的解决方案给你讲清楚,你也可以把这段内容整理进博客,作为“真实踩坑记录”。


文章目录

    • ImportError: cannot import name 'OrderedDict' from 'typing' 问题解决
    • 一、报错本质是什么?
      • 关键点 🔍
    • 二、为什么“你什么都没用 maxvit,却还是报错?”
    • 三、你的环境组合为什么“必炸”
      • 官方兼容关系(简化版)
    • 四、最稳妥的 3 种解决方案(按推荐顺序)
      • ✅ 方案一(强烈推荐):单独为资源②建 Python 3.8 环境
        • 1️⃣ 新建环境
        • 2️⃣ 安装匹配版本(CPU 版即可)
        • 3️⃣ 再运行 model.py
      • ⚠️ 方案二(不推荐,但可用):强行降级 torchvision
      • ❌ 方案三(不建议):改 torchvision 源码
    • 五、你现在该怎么选?(给你一个“资源作者级建议”)

一、报错本质是什么?

你的核心报错是这一句:

ImportError: cannot import name 'OrderedDict' from 'typing'

而它出现在这里:

torchvision\models\maxvit.py from typing import Any, Callable, List, Optional, OrderedDict, Sequence, Tuple

关键点 🔍

  • OrderedDict不属于 typing 模块(Python 3.7)
  • 它属于collectionstyping_extensions
  • 新版 torchvision 假设你使用的是较新的 Python

👉也就是说:你现在的 Python 版本,已经“跟不上”你装的 torchvision 了。


二、为什么“你什么都没用 maxvit,却还是报错?”

这是一个非常容易让人迷糊的地方。

你写的是:

fromtorchvisionimportmodels

但实际上 torchvision 内部会:

importtorchvision.models.maxvit

也就是说:

哪怕你只想用 ResNet50,只要 torchvision 版本偏新,它就会加载 maxvit。

而 maxvit 是Python ≥ 3.8 时代的模型


三、你的环境组合为什么“必炸”

你现在的关键信息是:

  • Python:3.7
  • Torch:1.13.x
  • Torchvision:0.14+(隐含)

这是一个不安全组合

官方兼容关系(简化版)

PythonTorchTorchvision结论
3.7≤1.10≤0.11✅ 稳定
3.71.12 / 1.130.13 / 0.14❌ 高概率炸
≥3.81.130.14✅ 稳定

👉你正好处在“官方已经不太照顾”的区间。


四、最稳妥的 3 种解决方案(按推荐顺序)

✅ 方案一(强烈推荐):单独为资源②建 Python 3.8 环境

这是工程上最干净、博客里也最合理的方案。

1️⃣ 新建环境
conda create -n resnet50_py38python=3.8-y conda activate resnet50_py38
2️⃣ 安装匹配版本(CPU 版即可)
pipinstalltorch==1.13.1torchvision==0.14.1

如果你后面要讲 GPU,可以再单独开一篇博客,不要现在纠缠。

3️⃣ 再运行 model.py
python model.py

问题会直接消失


⚠️ 方案二(不推荐,但可用):强行降级 torchvision

如果你必须留在 Python 3.7(比如资源①已经这样),那就:

pip uninstall torchvision -y pipinstalltorchvision==0.11.3

并且 Torch 最好一起降:

pipinstalltorch==1.10.2torchvision==0.11.3

📌 缺点:

  • ResNet50 还能用
  • 但你未来写博客会一直受版本限制
  • 不利于后续资源扩展

❌ 方案三(不建议):改 torchvision 源码

网上有人会教你:

fromcollectionsimportOrderedDict

然后改maxvit.py

⚠️这是非常不专业的做法,也不适合教学资源。


五、你现在该怎么选?(给你一个“资源作者级建议”)

站在你现在这个阶段,我明确建议你:

资源①(模板)
允许 Python 3.7,偏“基础工程”

资源②(ResNet50 实战)
👉升级到 Python 3.8,作为“进阶实战”

这在博客里反而是一个加分点,你可以这样写:

“从这个资源开始,我建议使用 Python 3.8,这是当前 PyTorch 工程更主流、也更稳定的选择。”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 18:24:06

让大模型记住你:必学的持久化记忆+动态画像+多智能体框架实现指南

本文提出一种个性化大模型框架&#xff0c;通过持久化记忆(STM/LTM/摘要/用户画像)和多智能体协作(协调/检索/验证/生成)实现自适应、连续性、定制化对话。系统将当前任务、历史交互与用户偏好融入决策上下文&#xff0c;通过反思校验提升回答质量&#xff0c;在长对话场景表现…

作者头像 李华
网站建设 2026/6/9 19:47:42

Langchain-Chatchat网络安全法条文解析工具

Langchain-Chatchat网络安全法条文解析工具 在数字化转型加速推进的今天&#xff0c;企业合规压力与日俱增。尤其是面对《网络安全法》《数据安全法》和《个人信息保护法》等法规日益严格的监管要求&#xff0c;如何快速、准确地响应法律咨询、完成合规审查&#xff0c;成为许多…

作者头像 李华
网站建设 2026/6/9 18:42:33

Langchain-Chatchat攻防演练FAQ智能应答系统

Langchain-Chatchat攻防演练FAQ智能应答系统 在网络安全攻防演练中&#xff0c;一线人员常常面临这样的窘境&#xff1a;面对突发问题&#xff0c;明明知道公司内部有详细的操作手册和应急预案&#xff0c;却要在几十份PDF、Wiki页面和邮件记录中反复翻找&#xff0c;耗时动辄半…

作者头像 李华
网站建设 2026/6/9 21:08:37

Langchain-Chatchat企业微信安全使用知识查询平台

Langchain-Chatchat企业微信安全使用知识查询平台 在企业数字化转型不断加速的今天&#xff0c;员工对内部制度、流程规范和合规要求的信息获取需求日益增长。然而&#xff0c;许多企业的知识仍散落在PDF、Word文档甚至纸质文件中&#xff0c;查找困难、响应滞后&#xff0c;新…

作者头像 李华