[实验日志] VS Code 毗连服务器上的 Python 解释器进行远程调试 ...

打印 上一主题 下一主题

主题 900|帖子 900|积分 2700

目次
0. 前言
1. 环境
2. 准备工作
2.1 安装VS Code
2.2 安装插件
2.3 配置远程服务器
2.4 修改设置
2.5 打开远程调试窗口
3. 调试代码
3.1 输暗码
3.2 打开服务器文件夹
3.3 配置Python环境
3.4 调试Python代码
补充:使用调试控制台,检察变量tensor的形状
结语


0. 前言

我们跑大型项目的时间,数据和代码都在服务器上。然而,服务器往往是Linux系统,没有图形化界面,本文将以Python语言为示例,讲解一下如何通过VS Code这款免费且好用的IDE进行远程调试代码。
常用的JetBrains家族(IntelliJ IDEA、Pycharm等)的开发工具里已经实现了远程开发功能,选择VS Code 作为开发工具的缘故原由有以下两点:
(1)JetBrains(如Pycharm)需要专业版才有远程调试的功能,而专业版收费高,大部分人平时还是使用社区版。VS Code是微软的一款免费IDE软件,又开源又支持远程调试。
(2)JetBrains工具远程开发时通过FTP、SFTP(File Transfer Protocol,文件传输协议)实现,它们的远程开发的原理是通过文件传输协议毗连到远程服务器,通过上传和下载的方式进行远程项目和当地项目的同步,如许的缺点是:不能实时同步、操作繁琐,需要维护两份代码。而VS Code是通过SSH(Secure Shell)的方式毗连到远程服务器,换句话说,VS Code在远程开发过程中扮演的角色更像是一款终端模拟工具,它不需要繁琐的上传和下载步骤,实时性更好,只需要在Windows上保存一下,就会瞬间同步到远程服务器,不消建立当地和远程映射,能直接检察和修改服务器上的文件。

1. 环境

当地环境:Windows 10
远程环境:Ubuntu 16.04(64bit)、ubuntu20.04) 亲测都可以
Python版本:3.6 - 3.8 亲测都可以
VS Code:1.43.2 - 1.96.4 亲测都可以

2. 准备工作

2.1 安装VS Code

官网:Download Visual Studio Code - Mac, Linux, Windows
需要安装VS Code,建议选择Syetem Installer。


2.2 安装插件

安装Remote Development这个插件,步骤如下图所示:



  • 点击扩展按钮
  • 搜索Remote Development
  • 安装

2.3 配置远程服务器

在 SSH TARGETS 配置远程服务器,具体步骤如下:



  • 点击(窗口左侧栏)远程资源管理器
  • 点击齿轮图标
  • 打开弹出的config文件,分别配置Host、Hostname、User
这里需要注意一个,Host是一个名称,本身可以随意命名。Hostname是远程服务器的IP,User是用于登录远程服务器的账户名称。
以AutoDL为例,找到本身租的远程服务器实例,SSH登录:

复制登录指令如下:(输入登录指令可以自动生成config)
ssh -p 26982 root@connect.yza1.seetacloud.com
对应到config文件中的Host、Hostname、User:

保存后左侧SSH栏就会出现服务器名称

2.4 修改设置

打开VS Code设置,搜索Show Login Terminal,把"Always reveal the SSH login terminal"勾选上,记得一定要操作这一步,不然会不绝提示报错


2.5 打开远程调试窗口

把鼠标放在上一步配置的远程毗连条目上,右键,有两个条目可以选择,保举 Connect to Host in New Window。然后就会在窗口打开我们想要的远程毗连。


3. 调试代码


3.1 输暗码

暗码会隐藏看不见,但实际上已经输入好了,粘贴上去直接回车



3.2 打开服务器文件夹





  • 点击Explorer
  • 点击Open Folder



  • 点击确定

3.3 配置Python环境


还得再输入一次暗码才气进来

3.4 调试Python代码


选Python debugger

会显示和PyCharm类似的调试配置,前三种最为常用,2对应script,3对应module

我们以2为例,所需要执行的下令如下
  1. python tools/train.py projects/configs/flashocc/flashocc-r50-M0.py
复制代码
那么对应的调试参数-配置文件内容如下(这部分将运行下令对应到vs code调试参数可以问问GPT,又快又好):
  1. {
  2.     "version": "0.2.0",
  3.     "configurations": [
  4.         {
  5.             "name": "Python 调试程序: tools/train.py",
  6.             "type": "python",
  7.             "request": "launch",
  8.             "program": "${workspaceFolder}/tools/train.py",
  9.             "args": [
  10.                 "${workspaceFolder}/projects/configs/flashocc/flashocc-r50-M0.py"
  11.             ],
  12.             "env": {
  13.                 "PYTHONUNBUFFERED": "1",
  14.             },
  15.             "console": "integratedTerminal",
  16.             "cwd": "${workspaceFolder}"
  17.         }
  18.     ]
  19. }
复制代码
保存后点击左侧调试栏里的开始调试,就成功开始调试啦:

别忘了设置断点哦:

另有得创建终端,conda actiavte 进环境,再调试:


   补充:使用调试控制台,检察变量tensor的形状

  

  输入xxx.shape,或者:
  1. [tensor.shape for tensor in xxx]
复制代码
就能检察对应变量内部全部tensor的形状啦,别的调试方法和PyCharm类似,可参考:
  [实验日志] 将pycharm(当地项目)毗连到远程服务器(Linux)上跑起来
  
结语

OK啦,到这里我们就成功设置了VS Code进行Python的远程调试,接下来我们就可以愉快地写代码和debug了。
本文参考以下博客,并融入了本身的思索:
https://zhuanlan.zhihu.com/p/93239107
https://blog.csdn.net/Hreticent/article/details/82968466
https://www.oschina.net/question/3637446_2282455
https://zhuanlan.zhihu.com/p/43656542
VS Code进行Python远程调试_vscode 远程 python-CSDN博客(主要参考)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表