首页 > 解决方案 > pylint vscode 无法导入自己的模块

问题描述

语境

我在 vscode 中有一个具有以下文件结构的项目:

main_folder/
  .vscode/
    settings.json
  src/
    my_package/
      part1/
        __init__.py
        code1.py
      part2/
        __init__.py
        code2.py
    __init__.py
  test/
    __init__.py
    test_code1.py
.env

文件是这样写的settings.json

{
    "python.pythonPath": "/usr/local/opt/python@3.9/bin/python3.9",
    "python.envFile": ".env",
    "python.autoComplete.extraPaths": ["./src"]
}

文件是这样写的.env

PYTHONPATH=./src

问题

test_code1.py,我正在尝试以这种方式导入 code1:

import my_package.code1

我得到一个错误:Unable to import 'my_package.code1' pylint(import-error)

但是,这有效:

import src.my_package.code1

但我想选择第一个选项。

有什么好的解决方案吗?

标签: pythonvisual-studio-codevscode-settingspylint

解决方案


你需要给出一个绝对路径python.envFile。它应该是:

"python.envFile": "${workspaceFolder}/.env",

.env文件中,您可以添加以下内容:

PYTHONPATH=src

推荐阅读