【python | pytorch | torch】导包错误,不能从**中导入***【ImportError】cannot import name ‘***‘ from ‘***‘
2026/7/13 0:29:59 网站建设 项目流程

文章目录

    • 问题
      • importError
      • 分析
        • 可能的原因
      • 解决
        • 实际上,我出现的问题是:依赖版本问题
        • 我的问题解决
    • 总结

问题

importError

导包出错,
不能从一个当中导入某个模块?

例如:ImportError: cannot import name ‘deprecated’ from ‘typing_extensions’

分析

可能的原因
  1. 拼写或大小写错误
  2. 导入的模块不存在
  3. 导入的成员不存在于模块中
  4. 循环导入
  5. Python环境出错

解决

实际上,我出现的问题是:依赖版本问题

一个非常经典且令人头疼的**依赖版本冲突(Dependency Conflict)**问题,俗称“环境崩了”。
这不是你的代码写错了,而是你安装的 PyTorch 版本和你环境里的 typing_extensions 这个库的版本不兼容。

  • 报错地点:D:…\site-packages\torch\cuda_init_.py
    • 是 PyTorch 内部试图调用 CUDA 模块时崩的。
  • 报错内容:ImportError: cannot import name ‘deprecated’ from ‘typing_extensions’
  • 真相:你电脑上的 PyTorch 比较新,它需要用到 typing_extensions 库里的 deprecated 功能。但是,你环境里安装的 typing_extensions 版本太老了,里面还没有 deprecated 这个东西。
我的问题解决
  1. 查询版本

  2. 有它,建议先删除

  3. 再次卸载


    一直执行,直到终端提示:
    WARNING: Skipping typing_extensions as it is not installed. (提示找不到包为止)。

  4. 物理检查(这一步是关键!)

    如果有 typing_extensions.py 这个文件,直接手动右键删除! 这一步能解决 99% 的顽固问题。

    conda install typing_extensions

更新 出错的库:
pip install --upgrade typing_extensions
或者使用 conda(如果你主要用 conda 管理):
conda update typing_extensions

总结

一个常见的Python错误,它可能由多种原因引起。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询