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插件

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/479180.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vim 分割窗口后,把状态栏给隐藏

一、基本环境 主机MacOs Sonoma 14.7主机终端Iterm2虚拟机Parallels Desktop 20 for Mac Pro Edition 版本 20.0.1 (55659)虚拟机-操作系统Ubuntu 22.04 最小安装 二、分割窗口后的截图,红色线条部分就是状态栏 分割后个布局是:顶部1行高度窗口&#x…

flink学习(7)——window

概述 窗口的长度(大小): 决定了要计算最近多长时间的数据 窗口的间隔: 决定了每隔多久计算一次 举例:每隔10min,计算最近24h的热搜词,24小时是长度,每隔10分钟是间隔。 窗口的分类 1、根据window前是否调用keyBy分为键控窗口和非键控窗口…

【8210A-TX2】Ubuntu18.04 + ROS_ Melodic + TM-16多线激光 雷达评测

简介:介绍 TM-16多线激光雷达 在8210A载板,TX2核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文的前提条件是你的TX2里已经安装了ROS版本:Melodic。 大家好,…

【排版教程】Word、WPS 分节符(奇数页等) 自动变成 分节符(下一页) 解决办法

毕业设计排版时,一般要求每章节的起始页为奇数页,空白页不显示页眉和页脚。具体做法如下: 1 Word 在一个章节的内容完成后,在【布局】中,点击【分隔符】,然后选择【奇数页】 这样在下一章节开始的时&…

【GAMES101笔记速查——Lecture 20 Color and Perception】

颜色与感知 目录 1 光场(Light Field / Lumigraph) 1.1 全光函数 1.1.1 改进:引入波长 1.1.2 改进:添加时间t 1.1.3 改进:人可以移动,添加空间坐标 1.1.4 改进:不把函数当电影来看。 1.…

HTML5和CSS3新增特性

HTML5的新特性 HTML5新增的语义化标签 HTML5 的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题,基本是 IE9 以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量…

ArcGIS+deck.gl矢量切片三维化表示建筑白模

01 背景介绍 很多ArcGIS API for JavaScript的用户想要ArcGIS的矢量切片技术体系实现Mapbox gl将城市建筑物footprint矢量切片三维化成建筑白模的效果。效果如图:截图来自mapbox studio1但目前仅靠ArcGIS VectorTileServer 和 ArcGIS API for JavaScript本身无法达…

Windows下安装FreeSurfer教程

简介 FreeSurfer 是一个开源软件包,用于分析和可视化横断面和纵向研究的结构、功能和扩散神经成像数据。它由Athinoula A. Martinos 生物医学成像中心的计算神经成像实验室开发。 官网 功能 FreeSurfer 为结构 MRI 数据提供完整的处理流,包括&#xf…

RTMP协议

背景介绍 RTMP(Real Time Messaging Protocol) 是由 Adobe 公司基于 Flash Player 播放器对应的音视频 flv 封装格式提出的一种,基于TCP 的数据传输协议。本身具有稳定、兼容性强、高穿透的特点。常被应用于流媒体直播、点播等场景。常用于推…

计算机网络----基本概念

基本概念 在这一章从整体上介绍计算机网络的概况, 为后续的学习搭建起整体的框架; 介绍计算机网络中的基础术语和概念; 什么是因特网 『 因特网 』是一个世界范围内互联了数以亿计的计算设备的计算机网络; 因特网具体构成 因特网互联了数以亿计的计算设备, 这些设备被称为…

CKA认证 | Day4 K8s管理应用生命周期(下)

第四章 K8s管理应用程序生命周期(下) 1、Pod对象 1.1 Pod 的基本概念 Pod 是 Kubernetes 中最基本和最重要的概念之一,是一个逻辑抽象概念,Kubernetes创建和管理的最小单元, 一个Pod由一个容器或多个容器组成。它简…

【微服务】Nacos

一、安装 1、官网地址:https://nacos.io/download/nacos-server/ 2、启动:找到bin目录下的startup.cmd双击启动,或者打开一个命令窗口输入: startup.cmd -m standalone双击启动后如下:可以访问控制台地址 访问后的…

学习笔记032——Spring学习笔记

文章目录 一、Spring开发步骤二、Spring配置文件1、Bean标签基本配置2、Bean标签范围配置3、Bean生命周期配置4、Bean实例化三种方式5、Bean的依赖注入概念6、Bean的依赖注入方式【第一种:set方法注入】【第二种:构造方法注入】 7、Bean的依赖注入的数据…

某科技研发公司培训开发体系设计项目成功案例纪实

某科技研发公司培训开发体系设计项目成功案例纪实 ——建立分层分类的培训体系,加强培训跟踪考核,促进培训成果实现 【客户行业】科技研发行业 【问题类型】培训开发体系 【客户背景】 某智能科技研发公司是一家专注于智能科技、计算机软件技术开发与…

Elasticsearch:Retrievers 介绍

检索器(retrievers)是 Elasticsearch 中搜索 API 中添加的新抽象层。它们提供了在单个 _search API 调用中配置多阶段检索管道的便利。此架构通过消除对复杂搜索查询的多个 Elasticsearch API 调用的需求,简化了应用程序中的搜索逻辑。它还减…

Python学习34天

import random class Game: peo0 rob0 # # def __init__(self,peo,rob): # self.peopeo # self.robrob def Play(self): """ 石头剪刀布游戏,0代表石头,1代见到,2代表石头 …

hive的存储格式

1) 四种存储格式 hive的存储格式分为两大类:一类纯文本文件,一类是二进制文件存储。 Hive支持的存储数据的格式主要有:TEXTFILE、SEQUENCEFILE、ORC、PARQUET 第一类:纯文本文件存储 textfile: 纯文本文件存储格式…

solr 远程命令执行 (CVE-2019-17558)

目录 漏洞描述 执行漏洞py脚本,取得shell连接 EXP 漏洞描述 Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象。Velocity是Apache基金会旗下的一个开源软件项目,旨在确保Web应用程序在表示层和业…

uname -m(machine) 命令用于显示当前系统的机器硬件架构(Unix Name)

文章目录 关于 arm64 架构检查是否安装了 Rosetta 2其他相关信息解释:命令功能:示例: dgqdgqdeMac-mini / % uname -m arm64您运行的 uname -m 命令显示您的系统架构是 arm64。这意味着您的 Mac Mini 使用的是 Apple 的 M1 或更新的芯片&…

实现在两台宿主机下的docker container 中实现多机器通讯

基于我的实验背景 上位机:ubuntu 20.04 (docker humble 22.04) 下位机:ubuntu 22.04(docker noetic 20.04) 目标:实现在上位机中的docker container 容器的22.04环境去成功远程访问 非同网段的下位机的20.04的contai…