我使用下面的设置
macOS v10.14 (Mojave)
Python 3.7.1
Visual Studio Code 1.30
2.2.2 Pylint
Django 2.1.4
我想使用linting使我在Visual Studio Code中的工作更容易一些。然而,对于每一个进口,我都有“未解决的进口”的状态。即使是默认的Django导入(即从Django .db导入模型)。
我认为这是因为它没有看到虚拟环境的Python文件。
一切都很好,但它开始变得烦人。
我选择的解释器都是Python的系统版本。它似乎根本看不到我的虚拟环境Python(它与我的工作空间不在同一个目录中,因此这部分是有意义的)。
如果我设置好python。设置中的PythonPath。Json文件,它只是忽略它,没有列出我的虚拟环境路径作为一个选项。我还尝试在我的全局Python设置中设置它,但它也没有显示。
有没有快速修复方法让它工作?
对我来说,这个问题与我正在做的项目有关。我花了一段时间才弄明白,所以我希望这能帮到你:
原文件夹结构:
root/
__init__.py # Empty
folder/
__init__.py # Empty
sub_folder_b/
my_code.py
sub_folder_c/
another_code.py
在another_code.py:
from folder.sub_folder_b import my_code.py
这并没有触发Visual Studio Code中的智能感知,但它确实执行得很好。
另一方面,在导入路径上添加“root”,确实使智能感知工作,但在执行时引发ModuleNotFoundError:
from root.folder.sub_folder_b import my_code.py
解决方案是删除“folder”目录中的_init_.py文件,只留下位于/root目录下的_init_.py文件。
我正在使用以下设置:(在2021年4月)
Macos big sur
vscode
水蟒3(环保版)
我在启动Django时遇到了这个错误。
因此,我执行这些步骤,这个错误就得到了解决。
步骤如下截图所示:
打开设置(工作区)
按照这张截图打开Python Path
现在,单击settings.json中的Edit
创建如下截图所示的路径/opt/anaconda3/bin/python
5. 现在,保存这个设置。json文件。
6. 重新启动vscode
此外,智能感知可能不会工作一段时间,保持等待一段时间,然后重新启动,然后vscode读取文件的新路径。
在导入项目相关(非标准)模块时,我也遇到了同样的问题。
问题的详细解释
目录结构:
Project_dir:
.vscode/settings.json
dir_1
> a
> b
> c
dir_2
> x
> y
> z
我们想要的:
Project_dir
dir_3
import a
import y
这里“import a”和“import y”失败,错误如下:
Import "dir_1.a" could not be resolvedPylancereportMissingImports
Import "dir_2.y" could not be resolvedPylancereportMissingImports
对我有用的是:
附加包含要导入的模块的顶部目录。
在上面的例子中,在".vscode/settings.json"中添加下面的"Code to append"
文件名:
.vscode/settings.json
要追加的代码:
"python.analysis.extraPaths": [dir_1, dir_2]
之前的答案对我都没用。将下面两行添加到我的设置中。Json文件,然而。
"python.analysis.disabled": [
"unresolved-import"
],
"python.linting.pylintArgs": ["--load-plugin","pylint_protobuf"]
第一行实际上只是隐藏了检测错误。当然这不是一个永久的解决方案,但可以让屏幕变得整洁。
这个答案给了我第二行:VS Code PyLint错误E0602(未定义的变量)与ProtoBuf编译的Python结构
也许比我更懂Python的人能再解释一下。