我使用下面的设置

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设置中设置它,但它也没有显示。

有没有快速修复方法让它工作?


当前回答

如果出现Pylint错误,请安装以下程序

pipenv install pylint-django

然后在根文件夹中创建一个文件.pylintrc,并编写以下内容

load-plugins=pylint-django

其他回答

我想知道这个问题有多少解决方案(或没有),我尝试了上面的大部分,没有任何工作,唯一有效的解决方案是将python语言服务器设置为Jedi,而不是在设置中设置Microsoft。json文件:

"python.languageServer": "Jedi"

我有一个不同的解决方案:我的Visual Studio Code实例已经获取了存储在.venv中的virtualenv,但它使用了错误的Python二进制文件。它使用了.venv/bin/python3.7;使用蓝色状态栏中的切换器。

我把它改为使用.venv/bin/python,我所有的导入都正确解析了。

当我这样做的时候,我不知道Visual Studio Code在幕后做了什么,我也不明白为什么这导致了我的问题,但对我来说,这是一个比编辑我的工作空间设置更简单的解决方案。

您需要选择与虚拟环境关联的解释器。

点击这里(在底部状态栏):

然后选择您正在使用的虚拟环境。完成了。

有时,即使选择了解释器,它也无法工作。只要再重复这个过程,应该就能解决问题了。

如果你像我一样更喜欢视觉,你可以使用菜单File→Preferences→Settings (Ctrl +,)中的visual Studio Code配置。选择扩展→Python。

在Analysis: Disabled一节中,添加以下消息的抑制:

我有一个问题,我创建的模块的导入没有找到。我觉得我尝试了许多方法来确保python解释器的选择是正确的,但没有用。通过编辑设置,我找到了一个适合我的答案。Python>检测>Pylint参数并添加init-hook…

--init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc()))"

此解决方案在PyLint“无法导入”错误中找到-如何设置PYTHONPATH?。我没有创建和编辑pylintrc,而是使用VS Code GUI添加了上面的内容。