vscode带参调试python配置文件设置import无法引用上层目录

救命被这个问题折磨一晚上,大概总结一下就是:

“带参调试无法正常import上级目录中的文件”

“无法指定调试器的运行目录”

详细说明就是:有这么一个叫 IGD 的模型

程序结构如上,现在想要调试 ssim_main文件,带参数。

官方给的命令行在 IGD 目录下正常运行:

但是调试时总是出现 ModuleNotFoundError: No module named 'Recorder' 的情况,改了很多遍调试的配置文件,失败,最后终于在CSDN一个帖子中找到了答案:

vscode python 无法引入上层目录解决-CSDN博客

最终的调试配置文件如下:

现在可以正常调试了。也就是添加了 cwd 及 env 这两个参数

另:这个模型中官方给的命令跟之前见过的 python E:\..XX.py 格式不同,使用了 -m 选项,导致我使用绝对路径时出错

根据chatgpt的解释:

-m 是 Python 解释器的一个选项,用于指定要执行的模块。

通过使用 -m 选项,你可以在不考虑当前目录的情况下,直接从模块路径中执行指定的模块。这对于直接执行安装在 Python 模块搜索路径中的模块非常有用。

使用 -m 选项的一般语法是:

python -m module_name [args]

其中,module_name 是要执行的模块的名称,args 是传递给模块的参数。

使用 -m 选项的优点是它能够自动处理模块的路径解析和导入,确保你执行的是正确的模块,而不会因为当前目录或其他因素导致模块解析错误。

也就是我使用绝对路径时,python的搜索路径局限在 .py 文件的当前文件夹?而使用 -m p32.main.py 则搜索路径增加了 IGD,IGD/p32等路径,因此能够搜索到 Record.py。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值