VS code Python使用:debug环境配置,日常使用技巧

2023-10-28

1 配置debug环境

1.1 步骤一:9步配置远程环境

  • 成功解决 vscode远程调试python
  • 如果单步跳过快捷键F10没有反应,可以“设置 – 键盘快捷方式” 重新设置一遍 Debug: 单步跳过:随便设一个键,然后再设置回 F10.
  • 拓展插件
    • remote development: 远程服务器控制
    • python (Microsoft): python编程
    • Office Viewer(Markdown Editor): 一个窗口实现markdown文件编写与查看
    • View Image for Python Debugging: debug时可以显示图片(具体怎么看要看下插件内的教程)
    • Settings Sync: 自动同步vscode的设置,会推荐给您安装
    • Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
    • vscode-pdf
    • Xmind Viewer

1.2 步骤二:代码相对路径设置(VS code 默认以项目根目录为初始路径)

How to run python interactive in current file’s directory in Visual Studio Code?
pydevd warnings in Visual Studio Code Debug Console

不想分析英文论坛,可以直接使用下面具体的解决方案:

  1. 勾选Python > Terminal: Execute In File Dir:点击左下角齿轮设置按钮 Ctrl + , 搜索 python.terminal.execute In File Dir 并勾选;
  2. 菜单栏运行(Run),选择打开配置(Open configuration),在configurations花括号末尾一行加上逗号后换行并输入"cwd": "${fileDirname}"
    {
       //  使用 IntelliSense 了解相关属性。(Use IntelliSense to learn about possible attributes.)
       // 悬停以查看现有属性的描述。(Hover to view descriptions of existing attributes.)
       // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 (For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387)
       "version": "0.2.0",
       "configurations": [                
           {
               "name": "Python: Current File",
               "type": "python",
               "request": "launch",
               "program": "${file}",
               "console": "integratedTerminal",
               "justMyCode": true,  // debug时只进入项目自带文件,不进入安装的包文件
               "env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"},  // 以防debug看变量时,由于加载时间长而显示warning
               "cwd": "${fileDirname}"  // 控制代码的初始路径为debug文件所在路径
           }
       ]
    }
    

1.3 步骤三:debug 时args参数传入

debug时给参数类parser = argparse.ArgumentParser()传入指定参数而无需修改类中指定的默认参数,也可以使用xxx.yaml参数文件传入。同“步骤二”在debug配置文件中增加:

	{
	   //  使用 IntelliSense 了解相关属性。(Use IntelliSense to learn about possible attributes.)
	   // 悬停以查看现有属性的描述。(Hover to view descriptions of existing attributes.)
	   // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 (For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387)
	   "version": "0.2.0",
	   "configurations": [                
	       {
	           "name": "Python: Current File",
	           "type": "python",
	           "request": "launch",
	           "program": "${file}",
	           "console": "integratedTerminal",
	           "justMyCode": true,  // debug时只进入项目自带文件,不进入安装的包文件
	           "env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"},  // 不显示 pydevd warnings
	           "cwd": "${fileDirname}",  // 控制代码的初始路径为debug文件所在路径
	           "args": ["./configs/xxx.yaml",  // debug时传入的参数
	           			"--a", "A",
	           			"--b", "B"
	           ]         
	       }
	   ]
	}

1.4 可能的错误

过程试图写入的管道不存在
C:\Users\Administrator.ssh\known_hosts,尝试删除你要连接的服务器的IP,保险起见删前先备份。

2 日常使用技巧

2.1 远程使用服务器时,需重新下载插件

方法1:修改设置
因为: Microsoft is no longer supported as explained in this thread.

  • File > Preferences > Settings > TYPE “python.language server”
  • 将 ‘Microsoft’ 改成 ‘Pylance’

方法2:删除\改名备份缓存文件:

  • 将文件夹C:\Users\Administrator\AppData\Roaming\Code重命名Code_backups为进行备份,重启使用vscode

2.2 使用jupyter开发,并正常显示图片

  1. 安装插件:Jupyter Keymap
  2. 设置渲染为image/png: ctrl+shift+p——“首选项:打开用户设置”——输入plots——去掉勾选项:Jupyter: Generate SVGPlots——点击无法正常显示图片位置的按钮选中“image/png”——重新加载

2.3 github远程代码管理

  1. 配合vscode使用git: 新手(3)—VSCode上的GitHub实现代码管理
  2. 克隆别人的代码为自己所用:git上clone别人的项目怎么放在自己的git上
  3. fork别人的代码同步更新:如何把别人的项目修改后,提交到自己的 github,并同步更新
  4. 服务器配置github的key: 云服务器中 ssh key 管理与 github 配置
  5. gitconfig文件路径:~\.gitconfig

2.4 Debug时导入

  1. 上级目录
    import sys
    sys.path.append("..") 
    
  2. N级目录
    CURRENT_DIR = os.path.split(os.path.abspath(__file__))[0]  # 当前目录
    config_path = CURRENT_DIR.rsplit('/', 2)[0]  # 上N级目录
    sys.path.append(config_path)
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS code Python使用:debug环境配置,日常使用技巧 的相关文章

随机推荐

  • ARCGIS一些tips

    1 不同shapefile使用相同的自定义风格
  • 网络空间安全导论-第三章习题

    网络空间安全导论 第三章习题 TCP IP模型共有几层 各层各有什么功能 应用层 访问网络服务的接口 例如为操作系统或网络应用程序提供访问网络服务的接口 表示层 提供数据格式转换服务 如加密与解密 图片解码和编码 数据的压缩和解压缩 会话层
  • 【全国科技者工作日】:致敬每一位科技工作者,时代的发展永远也少不了这一批人!

    在我们的日常生活中 科技已经渗透到了方方面面 从第一台计算机的发明到智能手机的出现 再到人工智能的应用 科技的发展已经深刻地改变了我们的生活 在这个快速发展的时代 科技工作者是推动社会发展的重要力量 他们的辛勤付出和不懈努力为我们带来了更多
  • 量化python:使用热力图heatmap绘制胜率图方法及工具函数

    胜率图是分析策略的一种图形 对于胜率的分析需要三种数据 策略 参数集 表现在胜率图的横纵轴含义 对比的场景编号 表现在对比两个策略时使用的场景 通常见于不同的时间 不同的参数 不同的周期 场景对应的值 场景对应的值 可能代表收益率 模型的分
  • Oracle学习笔记5_简单查询

    Oracle简单查询语句 查看表结构 desc dept 查看所有列 select from dept 查询指定列 select ename sal job deptno from emp 如何取消重复行 select distinct d
  • C语言system函数用法

    system 函数用于向操作系统传递控制台命令行 以WINDOWS系统为例 通过system 函数执行命令和在DOS窗口中执行命令的效果是一样的 所以只要在运行窗口中可以使用的命令都可以用SYSTEM 传递 但要注意的是输入斜线时要输入两个
  • Python中的各种函数

    1 map 函数 将可迭代对象中每一条数据都执行一次函数 并且将函数执行的返回结果放入另一个可迭代对象中 2 filter 函数 会将列表中每一条数据执行一次函数 并将条件为真的数据放入结果中 None False 0这些都是条件为假的 数
  • leetcode算法面试题:单词接龙问题

    题目 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列 序列中第一个单词是 beginWord 序列中最后一个单词是 endWord 每次转换只能改变一个字母 转换过程中的中
  • Spring——Bean 的生命周期

    目录 一 Bean 的生命周期 二 代码演示 三 主要步骤简述 一 Bean 的生命周期 对于普通的 Java 对象 new 的时候会去创建对象 而当它没有任何引用的时候则被垃圾回收机制回收 相较于前者 由Spring IoC 容器托管的对
  • 从事煤矿智能化多年,收集的相关政策、技术文件

    2016 年 6 月 1 日 能源技术革命创新行动计划 2016 2030 年 原文 2018 年 智慧矿山信息系统通用技术规范 2019 年 1 月 煤矿机器人重点研发目录 2020 年 3 月 3 日 关于印发 关于加快煤矿智能化发展的
  • 因果相关的论文与算法

    跟causality相关的算法目录方便大家查找代码和论文 https github com rguo12 awesome causality algorithms 如何将因果推断 分析 和深度学习有机结合弥补两者的不足 有哪几个关键问题需要
  • Java编程的逻辑 (30) - 剖析StringBuilder

    本系列文章经补充和完善 已修订整理成书 Java编程的逻辑 由机械工业出版社华章分社出版 于2018年1月上市热销 读者好评如潮 各大网店和书店有售 欢迎购买 京东自营链接 http item jd com 12299018 html 上节
  • promise详解

    一 promise含义 Promise 是异步编程的一种解决方案 比传统的解决方案 回调函数和事件 更合理和更强大 它由社区最早提出和实现 ES6 将其写进了语言标准 统一了用法 原生提供了Promise对象 所谓Promise 简单说就是
  • poi 灵活导出excel(有这一篇即可~~~~)

    大家在开发项目的时候 但凡涉及数据多而杂的时候或多或少需要导出excel 用什么的工具类这时候就很烦恼了 接下来的工具类傻瓜式一键生成大家需要的excel 1 依赖 Apache POI是Apache软件基金会的开放源码函式库 POI提供A
  • 以太坊开发者常见的问题答案

    求职面试不仅是一种过滤掉不合格候选人的考验 对于候选人来说 这也是一个很好的机会 可以评估未来雇主的开发团队的优秀程度 如果你的面试官问的是原始的 蹩脚的或错误的问题 是的 他们会问你一些完全没有意义的事情 然后这是一个红旗 也许你应该重新
  • Error:Cannot build Artifact 'art_training:war exploded' because it is included into a circular depen

    今天在做项目弄项目的时候启动tomcat出现问题错误如下 Error Cannot build Artifact art training war exploded because it is included into a circula
  • 远程访问服务器Jupyter Notebook (浏览器访问和pycharm访问)

    1 在remote server上运行 jupyter notebook no browser port 8888 复制远程终端显示的 token 序列 2 在本地终端上运行 ssh L 8888 localhost 8888
  • Android中的DPI和PPI

    DPI是Android开发中的像素密度 PPI是Android手机物理像素密度 他们两者是完全没有关系的 千万不要把ppi的公式等同于dpi dpi是通过displayMetrics获取的 val densityDpi resources
  • 芯片开发语言:Verilog 在左,Chisel 在右

    来源 老石谈芯 在最近召开的RISC V中国峰会上 中科院计算所的包云岗研究员团队正式发布了名为 香山 的开源高性能处RISC V处理器 前不久我有幸和包老师就这个事情做了一次深度的交流 我们聊了关于RISC V 还有 香山 处理器的前世今
  • VS code Python使用:debug环境配置,日常使用技巧

    1 配置debug环境 1 1 步骤一 9步配置远程环境 成功解决 vscode远程调试python 如果单步跳过快捷键F10没有反应 可以 设置 键盘快捷方式 重新设置一遍 Debug 单步跳过 随便设一个键 然后再设置回 F10 拓展插