我使用下面的设置

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

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


当前回答

我有一个库,在尝试使用Jedi语言服务时出错,没有它也能正常工作(即c#的那个)。

这个库是jsonslicer,它依赖于我安装在/usr/local/lib中的一个外部C库会不会跟这个有关?

我在Conda环境中安装了Jedi服务和库,并在Visual Studio中使用该环境。它在运行时和在我的终端上工作得很好,但在检查源文件中的问题时却不是这样,它显示为一个错误。

其他回答

如果你的设置中有这个代码。Json文件,删除它:

{
    "python.jediEnabled": false
}

这对我来说很管用:

打开命令面板(Ctrl + Shift + P)并选择“Python: Select Interpreter”。

这样做,你在Visual Studio Code中设置Python解释器。

我有同样的问题与python 3.8.5使用venv,vscode 1.48.2 我找到了解决办法。 在(env文件夹)/lib/site-packages中不包含包。 我使用这个设置(.vscode/settings.json)

   {
        "python.autoComplete.extraPaths": [
            "./**",
        ],
        "python.pythonPath": "env\\Scripts\\python.exe",
        "python.languageServer": "Microsoft"
   }

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

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

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

两年之后,我遇到了这个烦人的问题。我所能看到的是一些非常复杂的变通办法。这里有一些简单的步骤,对于那些稍后可能遇到这种情况的人来说:

在VS Code的底部,你可以看到列出的Python版本,只需点击那里 将出现“选择解释器窗口” 点击第一个选项“选择解释器路径”,并导航到包含虚拟环境的文件夹路径

这就是你所需要做的,避免在VS Code中篡改这些设置,如果不小心处理,可能会变得非常复杂。