0


vscode 连接远程服务器进行python文件 debug(小白版)

一、连接远程服务器

首先需要使用SSH先连接远程服务器(这个有空再记录)

二、激活虚拟环境

接着激活一个虚拟环境,可以使用命令来查看当前环境下有什么虚拟环境:

conda env list

虚拟环境

接着使用命令激活pointcloud环境:

conda activate pointcloud

在这里插入图片描述

前面的括号显示虚拟环境的名字则代表已经激活了。

这样的意思是,当下运行的所有python文件都是用这个虚拟环境来运行的,而不是使用服务器中的全局环境base来运行的,这样有利于用户创建几个不同需求的虚拟环境来运行程序,并且避免一些工具库之间的冲突。

三、 安装debugpy(初次使用时需要安装)

在当前环境pointcloud中安装debugpy(主要是考虑到,基本上运行python文件都是用这个虚拟环境),使用命令:

pip install debugpy

可以使用命令来检查当前虚拟环境是否真的安装了该工具库:

pip show debugpy

正常安装的了会显示工具库的版本等等信息

四、创建launch.json文件

方法1

直接在.vscode目录下创建一个launch.json文件(对,就是自己命名一个这样的文件)

在这里插入图片描述

方法2

点击左侧活动栏的Run and Debug,接着create a lauch.json file

在这里插入图片描述
然后上面的会提示要创建什么文件(node.js/python debugger/…),我是随便选了第一个node.js,紧接着就会创建一个launch.json文件,但是后面会替换掉文件中的内容!!!

五、编辑launch.json文件内容

把前面创建的launch.json文件里面的内容替换成在gpt中搜的教程里面的内容:

{"version":"0.2.0","configurations":[{"name":"Python: Remote Attach","type":"debugpy","request":"attach","connect":{"host":"localhost","port":5678},"pathMappings":[{"localRoot":"${workspaceFolder}","remoteRoot":"/root/code/3D_Registration_with_Maximal_Cliques"}]}]}

其中我感觉比较重要的就是locaRroot和remoteRoot,在终端输入命令获得远程服务器中当前文件夹的根目录:

pwd

在这里插入图片描述

将得到的路径替换到launch.json文件中的remoteRoot,意思就是这个配置文件就管理这个根目录下所有文件的debug了。

至于这个localRoot我还不知道作用体现在哪,后面有问题再补充吧~

那个"port"是指调试服务器监听的端口,需要和在服务器上启动debugpy时指定的端口一致。我的理解是,我指定这个根目录下的文件的debug调试工作,是通过远程的调试服务器debugpy进行的,并且这两方之间统一用这个端口进行传输。(可能吧,大概的)

六、进行调试

在终端输入命令启动debugpy调试服务器:

python -m debugpy --listen 0.0.0.0:5678 --wait-for-client aaa.py

其中,aaa.py的位置是写你需要调试的文件名字。

输入命令按enter键,服务器就会等待,等待你选择文件来进行调试。

前面创建并修改好launch.json文件后,再次点击左边工具栏的Run and Debug就会显示

在这里插入图片描述
这样就是可调试的状态啦

点击绿色按钮Start Debugging,进行调试,就能看到跟在本地进行调试一样的界面啦

在这里插入图片描述

总结

所以每次调试一定要有的东西和操作就是:
1、(基本)激活虚拟环境+安装debugpy;
2、launch.json文件,并且里面的内容要指定当前文件的根目录;
3、启动debugpy调试服务器,命令python -m debugpy --listen 0.0.0.0:5678 --wait-for-client aaa.py;
4、选择相应文件进行debug。

标签: vscode python ide

本文转载自: https://blog.csdn.net/charling____/article/details/140100230
版权归原作者 charling____ 所有, 如有侵权,请联系我们删除。

“vscode 连接远程服务器进行python文件 debug(小白版)”的评论:

还没有评论