VScode在服务器上远程调试python代码的工作目录问题

背景:
当前很多写代码都习惯使用相对路径,即以当前的py文件为工作目录去寻找其他的py文件。所以如果工作目录不是以当前的py文件为起始的话,这将导致去跑一些开源代码的时候运行不起来。
现在我遇到的问题就是,在远程服务器上,正常使用终端运行*.py文件,能正常运行。但是在使用vscode远程调试服务器*.py代码时,就会报错。
原因:
调试模式运行*.py与终端直接运行*.py的工作目录不同!

现象描述:在服务器的文件夹形式为:A/B.py、A/C/D.py文件。
1.现在我需要调试D.py文件,如果直接使用终端进入到D.py文件夹目录,使用python D.py运行它,可以正常运行。(注意:当前的工作空间就是python的工作目录。)
2.而如果我使用vscode的调试模式去运行D.py,由于代码中有很多的相对路径去找其他的py文件,所以现在跑不通了。(由于vscode本身的设定,工作目录默认为根目录(即A目录下),导致一些开源代码以D.py为定位写的相对位置代码跑不通。)

所以现在我需要修改调试模式的工作目录路径与正常运行的工作目录一致即可!

一.工作路径查询

在*.py文件运行着的时候,运行

import os
print(os.getcwd())

就可以查询到当前python的工作目录。

二.vscode调试模式的工作目录设定

上面说了,直接运行*.py的话是可以正常运行的。所以说直接在调试模式下,去设定工作目录与正常运行的工作目录相同即可。

example:下面举一个例子:

我的工作目录如下,1是工作空间的根目录,我想要调试的是2处的train.py文件:
在这里插入图片描述
在运行train.py文件的情况下,我使用了上面的命令分别查询了调试模式和正常模式运行的工作目录。
正常模式
在这里插入图片描述调试模式
在这里插入图片描述
也即调试模式的python工作目录比直接运行train.py的工作目录少了一个*/ThreeDMatch,添加上即可。如何添加?
在launch.json文件中加入以下一行即可。
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值