vscode下的python文件引用

介绍

由于vscode和pycharm的目录属性略微不同,不同文件夹下的包进行导入的时候会有所不同,所以特此记录一下
在这里插入图片描述
如图想在demo.py中导入utils中的包,这里通常会直接这么进行写

from src.utils.plotting import make_matching_figure

但是这样写在vscode中是会报错的,所以我们先进行探究这是为什么。

原因

首先python中的import各种文件,会在sys.path路径下进行寻找.
我们按照上面进行举例

import os,sys
a=sys.path

这里可以看到a的值如下

['/home/username/lofter/LoFTR/notebooks', 
'/home/username/.conda/envs/loftr/lib/python38.zip', 
'/home/username/.conda/envs/loftr/lib/python3.8', 
'/home/username/.conda/envs/loftr/lib/python3.8/lib-dynload', 
'/home/username/.local/lib/python3.8/site-packages', 
'/home/username/.conda/envs/loftr/lib/python3.8/site-packages']

这里显示了6个目录,但是这些文件夹下进行搜索的话是搜索不到src文件夹的,src是和她们平行的。
所以,这也就是导致moudle导入失败的原因。所以如何解决这个问题也就显而易见了。

解决方法

sys.path.append('..')
b=sys.path
print(sys.path)

结果

['/home/xujintao/lofter/LoFTR/notebooks', 
'/home/xujintao/.conda/envs/loftr/lib/python38.zip', 
'/home/xujintao/.conda/envs/loftr/lib/python3.8',
 '/home/xujintao/.conda/envs/loftr/lib/python3.8/lib-dynload', 
 '/home/xujintao/.local/lib/python3.8/site-packages', 
 '/home/xujintao/.conda/envs/loftr/lib/python3.8/site-packages', '..']

进行添加目录的方式。有一点值得了解的就是在vscode中的工作目录为根你的home,所以用’..'这个的话就是回退到根目录的上一级为根目录,这样可以保证任何的都可以搜多到,而且具有普适性。
这样就基本清楚了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VSCode Debugger Python是一款基于AST的快速、便捷且以表达式为中心的图形化Python调试器。它可以通过装饰您要调试的功能来使用,在运行Python文件时,您可以使用任何扩展名。您也可以使用命令行来调试。 首先,安装Python插件和Pylance插件。然后,在菜单栏中点击File-New File创建一个Python文件,编写你的Python代码。在需要调试的位置打上断点(点击该行即可打上断点,会显示为红色小点)。接下来,点击菜单栏中的Run-Start Debugging,在弹出的窗口中选择第一个打开调试的Python文件选项。你可以在控制台中输入测试数据。当进入调试模式时,代码中会显示一个黄色的小箭头,表示当前执行的行。 这样,你就可以使用VSCode Debugger Python来调试你的Python代码了。它提供了一系列调试功能,帮助你定位和解决代码中的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [VSCode中python无法调试(调试闪退)的解决方法](https://blog.csdn.net/m0_71135072/article/details/128447017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [birdseye-vscode:Birdseye的vscode端口-图形化Python调试器](https://download.csdn.net/download/weixin_42131405/18427079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [vscode简单调试python代码](https://blog.csdn.net/qq_39445165/article/details/115012361)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值