如何在 Visual Studio 代码中为本地 Python 包启用智能感知

jim*_*m70 5 python intellisense pylint visual-studio-code

我创建了一个非常基本的包。使用 mkdir 创建一个名为 my_package 的文件夹,在该文件夹中创建一个init .py 文件,然后在同一文件夹中创建一个 my_modules.py 文件。

my_modules.py 有一个函数

def hello():
    print('Hello')
Run Code Online (Sandbox Code Playgroud)

我在 VS Code 中创建了一个 python 脚本 (a.py),将以下行放入 a.py 中并运行 a.py。

import sys
sys.path.insert(0, '/path/to/my_package')
from my_package.my_modules import hello
Run Code Online (Sandbox Code Playgroud)

现在,即使我启动 python3 解释器、导入 sys 和 print(sys.path),我也会在 sys.path 列表中看到 my_package 的路径。

现在,脚本 a.py 运行正常并打印 hello。

然而,

  • pylint 显示警告 - 无法解析“my_package.my_modules”。此模块可能缺少 IntelliSense。

pylint 和 intellisense 都在我的 VS Code 设置中工作。我努力了

  • 在 .pylintrc 中添加 init-hook (这无助于删除智能感知警告)
  • 设置 PYTHONPATH 变量。

上述两种方法都无助于消除智能感知警告。

顺便说一句,当我将 my_package 目录复制到 python 3.7 安装的 site-packages 目录时,警告消失了。复制到 site-packages 路径似乎是一个拼凑,因为它可能会在下次 python 更新时中断。

我应该怎么办?我希望我的问题很清楚。谢谢。