vscode下面python调试报错ImportError: cannot import name ‘Literal‘ from ‘typing‘

devtools/2024/11/24 6:50:37/

1 问题描述

我在vscode下面编写python程序,这个程序是在一个英伟达anoconda环境下的项目。之前能运行能调试,最近发现只能运行ctl+f5,但是使用f5进行调试时,报错“File “c:\Users\86137.vscode\extensions\ms-python.debugpy-2024.12.0-win32-x64\bundled\libs\debugpy\adapter/…/…\debugpy\launcher/…/…\debugpy/…\debugpy_vendored_init_.py”, line 126, in preimport
import_module(name)
File “C:\Users\86137\Anaconda3\envs\Pytorch\lib\importlib_init_.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “c:\Users\86137.vscode\extensions\ms-python.debugpy-2024.12.0-win32-x64\bundled\libs\debugpy_vendored\pydevd\pydevd.py”, line 228, in
from _pydevd_bundle.pydevd_plugin_utils import PluginManager
File “c:\Users\86137.vscode\extensions\ms-python.debugpy-2024.12.0-win32-x64\bundled\libs\debugpy_vendored\pydevd_pydevd_bundle\pydevd_plugin_utils.py”, line 4, in
from typing import Tuple, Literal
ImportError: cannot import name ‘Literal’ from ‘typing’ (C:\Users\86137\Anaconda3\envs\Pytorch\lib\typing.py)”,

2 问题定位说明

因为你的Python环境与VS Code使用的调试工具之间存在兼容性问题,特别是当涉及到不同版本的typing模块时。从错误信息来看,Literal是从Python 3.8开始引入的一个类型提示,而你的环境可能正在使用一个较旧的Python版本,或者由于某些原因导致typing模块未能正确加载。

之前可以,我用的python是3.7.13,而vscode在使用vscode时候有过升级,升级了vscode下面的版本,主要与两个vscode中的两个插件有关,pythonpython Debugger。这两个插件版本不兼容。
在这里插入图片描述
在这里插入图片描述

3 问题解决

可以方法1,方法2混用,也可以单独试试。

vscodepython_19">方法1:降级vscode中的python插件

vscode下面的插件,python降级到之前的一个兼容版本。降级方法:
在这里插入图片描述
之后,自动弹出下面的框和下拉的历史版本:
在这里插入图片描述
从历史版本中选择一个版本,之后会自动的安装这个版本。

另外一个选择降级的地方在这里:
在这里插入图片描述

同时,为了防止其自动升级,需要在这里禁止掉:
在这里插入图片描述

vscodepython_debugger_32">方法2:禁止vscode中的python debugger插件

操作见下图。
在这里插入图片描述


http://www.ppmy.cn/devtools/136484.html

相关文章

详解八大排序(五)------(计数排序,时间复杂度)

文章目录 1. 计数排序(CountSort)1.1 核心思路1.2 实现代码 2. 时间复杂度比较 1. 计数排序(CountSort) 1.1 核心思路 计数排序的核心思路是另外创建一个数组,记录原数组中出现的成员个数,再依次打印新数组…

SpringSecurity基于内存的多个登录用户支持

Spring Security 支持各种来源的用户数据,包括内存、数据库、LDAP 等,它们被抽象为一个 UserDetailsService 接口,任何实现了 UserDetailsService 接口的对象都可以作为认证数据源。在这种设计模式下,Spring Security 显得尤为灵活…

Android Activity 基础接口知识和常见问题

Activity 知识点及问题点 接口onMultiWindowModeChangedonConfigurationChanged 常见问题Android解决点击桌面图标,就重新启动应用程序问题 接口 onMultiWindowModeChanged 定义 onMultiWindowModeChanged是Android中Activity类的一个回调方法。它会在活动&#xf…

挂壁式空气净化器什么牌子净化好?测评高热度品牌排行

近年来,挂壁式空气净化器日益成为消费者关注的焦点。随着市场需求的激增,其品牌和型号亦愈发丰富。作为家电测评领域的专业人士,我已评测了众多挂壁式空气净化器,发现部分产品存在质量问题,净化效果不佳,尤…

第二十九章 TCP 客户端 服务器通信 - 记录的拼接

文章目录 第二十九章 TCP 客户端 服务器通信 - 记录的拼接记录的拼接多路复用 TCP设备正在关闭连接使用CLOSE命令断开连接 第二十九章 TCP 客户端 服务器通信 - 记录的拼接 记录的拼接 在某些情况下,TCP会将不同的记录连接在一起形成单个记录。如果客户端或服务器…

HTML5实现剪刀石头布小游戏(附源码)

文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面 2.效果和源码源码下载万套模板,程序开发,在线开发,在线沟通 作者:xcLeigh 文章地址:https://blog.csdn.net/weixin_43151418/article/details/143798520 HTM…

Linux安装RabbitMQ

安装步骤 rabbitmq使用erlang开发,依赖于erlang,所以需要先下载erlang,且版本要兼容: 可在官网查看erlang与rabbitmq的版本对应关系 https://www.rabbitmq.com/docs/which-erlangCentOs7安装运行 下载 下载地址 https://www.rab…

vue el-table表格点击某行触发事件操作栏点击和row-click冲突问题

文章为本新手菜鸡的问题记录,如有错误和不足还请大佬指正 文章目录 前言一、点击el-table表格某行,触发事件二、解决el-table的操作栏点击和row-click冲突问题1.问题:2.解决方法 前言 文章主要解决两个问题: 1、点击el-table表格…