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

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中的两个插件有关,python和python Debugger。这两个插件版本不兼容。
在这里插入图片描述
在这里插入图片描述

3 问题解决

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

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

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

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

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

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值