我在VSCode中收到pylint错误,提示它们无法导入本地文件。但是,我可以通过调试器毫无问题地运行文件。我以为pylint使用的是解释器使用的PYTHONPATH,所以我不知道为什么会这样。
我的代码设置如下:
dir0
-dir1
--src
---srcdir1
----file1.py
---srcdir2
----file2.py
file1.py看起来像这样:
def func1():
return 1
file2.py看起来像这样:
from srcdir1.file1 import func1
func1()
在launch.json中,我有:
"env": {"PYTHONPATH": "/full/path/to/dir0/dir1/src:/usr/local/bin/python"}
Pylint给我“来自srcdir1.file1”的导入错误。当我进入调试器并单击运行调试器时,文件运行没有问题。但是,如果我右键单击并选择“运行代码”,则会收到与pylint错误匹配的导入错误。
答案 0 :(得分:0)
这些文件夹中是否有__init__.py
个文件?否则,python将无法将它们识别为模块,并且将无法导入代码。看看https://stackoverflow.com/a/448279/5015356了解更多信息
答案 1 :(得分:0)
问题是您为调试器指定了PYTHONPATH
,而不是要发送给Pylint的常规扩展名。尝试在.env
environment variable definition file中设置PYTHONPATH
。