gpt4 book ai didi

python - 使用当前文件夹中的模块的VScode Python未解析导入

转载 作者:行者123 更新时间:2023-12-04 15:58:25 26 4
gpt4 key购买 nike

我正在从某个 project/ 文件夹运行 vscode,并在某个 project/impl/ 文件夹中收到“ Unresolved 导入”错误。在 impl/ 文件夹中,我有 2 个 Python 文件:

# lib.py
class A():
pass

# run.py
from lib import A # vscode error here - unresolved import
...

运行 run.py 时,Python 解释器发现 lib 很好,但 vscode 显示“ Unresolved 导入”错误 (screenshot)。

如果我将导入行更改为 from .lib import implementation(注意点),我会得到相反的行为,即 vscode 解析导入正常但 Python 解释器失败。

我应该如何导入 lib 或以其他方式配置 vscode 以解析从本地文件夹的导入? (显然我不想将本地文件夹的确切路径添加到 vscode 配置文件,因为我必须为项目中的每个子文件夹都这样做)

最佳答案

当我在我的电脑上使用 python 扩展版本 2018.12.1 时,我遇到了和你描述的一样的问题。

由于该功能是语言服务提供的,而python语言服务是由python扩展提供的,建议您可以尝试使用最新版本的python扩展(2020.8.106424)。

此外,您还可以使用扩展名“Pylance”,它还为 python 提供了出色的语言服务。

我在电脑上创建的项目:

enter image description here

我的环境:

VSCode 版本:1.48.2(用户设置)

操作系统:Windows_NT x64 10.0.18362

Python 扩展:2020.8.106424

settings.json 中的语言服务器:

 "python.languageServer": "Pylance",

更新1:

当我使用的语言服务是“Jedi”时,代码也没有这个警告:

"python.languageServer": "Jedi",

更新2:

由于这个警告不影响代码的执行结果,我们也可以在设置(settings.json)中关闭这种警告:

"python.analysis.disabled": [
"unresolved-import"
]

这样,我们就可以使用"python.languageServer": "Microsoft",

关于python - 使用当前文件夹中的模块的VScode Python未解析导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63764420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com