首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置VSCode以便能够从子目录导入文件

如何设置VSCode以便能够从子目录导入文件
EN

Stack Overflow用户
提问于 2020-11-13 06:51:38
回答 1查看 2.1K关注 0票数 3

@KindNotice:我已经在this onethis one这样的当前平台上搜索了潜在的解决方案。然而,我仍然有麻烦收集每一个信息,并找到最佳的和工作的安排。虽然我的案例可能不那么普遍,但它试图将不同地点的点联系在一起。在标记为副本之前,请考虑这一点。

我的项目结构如下:

代码语言:javascript
复制
my-project/
  src/
    model.py
    utils.py
    __init__.py
  notebooks/
    test.py

model.py中,我有一个导入:

代码语言:javascript
复制
from utils import my_function

我的工作目录被设置为my-project (由os.getcwd()返回)。我正在使用Conda环境,并试图将PYTHONPATH修改为建议的here

代码语言:javascript
复制
"env": {"PYTHONPATH": "${workspaceRoot}, ${workspaceRoot}/src"}

我的__init__.py目录中也有src。据我理解,如果我使用from src.utils import my_function,它将在VSCode中正常工作-但是,当从bash终端从src目录( model.py脚本所在的位置)运行时。为了增加所有这些,我希望能够导入位于notebooks中的jupyter笔记本文件中的模块。

src导入另一个模块的最佳设置是什么?编辑PYTHONPATH真的在这里吗?(我看不出有什么效果)。

EN

回答 1

Stack Overflow用户

发布于 2020-11-13 08:39:57

在导入其他文件夹中的模块(文件)时,默认情况下,VSCode从文件的父文件夹开始。

导入和使用VSCode中其他文件中的文件的类和方法的方式如下:

  1. 使用绝对路径。设置VSCode搜索路径的方法是从当前项目开始。在执行代码之前,VSCode首先更改项目文件夹路径。

例如:使用

"env":{ "PYTHONPATH":“D:\\文件夹”}

在"launch.json“中添加项目的绝对路径。

  1. 使用相对路径。根据文件的相对路径(使用导入的模块文件)查找项目路径,然后VSCode将从项目文件夹开始搜索。

例如:在文件开头使用以下代码查找项目文件夹路径:

导入os,sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

运行:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64816652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档