如何在VSCode中自动将根目录添加到python路径中?

Mol*_*ris 5 python python-import importerror visual-studio-code

我从 PyCharm 切换到 VSCode。现在,我在导入同一包中的模块时遇到问题。

主要.py

from importlib_resources import files

import household_prices.data.raw_data as raw_data # <- moudle not found

source = files(raw_data).joinpath("household_price.csv")
df = pd.read_csv(source)
Run Code Online (Sandbox Code Playgroud)

我认为这与 python 路径有关。当我调用sys.pathPyCharm 时,我同时拥有~/code/household_prices/household_prices/analysis~/code/household_prices/household_prices

VSCode 中缺少第二条路径。有没有一种自动方法可以始终在 python 路径中包含包的根目录?

文件夹结构

* household_prices
  * .idea
  * household_prices
    * analysis
      * __init__.py
      * main.py
    * data/
      * __init__.py
      * raw_data/
        * __init__.py
        * household_price.csv
    * README.md
Run Code Online (Sandbox Code Playgroud)

Jil*_*eng 1

根据您的描述,建议您可以尝试以下提示:

  1. 将设置行添加到文件launch.json的文件中.vscode

"env": {"PYTHONPATH" : "${workspaceRoot}"},

VSCode会自动在项目的根目录中查找(最外层household_prices),

然后,VSCode会根据这行代码进一步寻找需要的文件:

import household_prices.data.raw_data

  1. 在文件夹(二楼)中创建' __init__.py'文件,它会让VSCode更准确地知道一个文件是一个包。household_prices

我创建了一个与你的文件结构相同的项目,经过测试,可以成功导入模块。

我的环境:python3.8.3;VS代码:1.47.3;操作系统:Windows_NT x64 10.0.18362