我使用下面的设置

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

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


当前回答

除了这个,其他的解决方案都不奏效。替换设置中的“Pylance”或“Microsoft”。Json解决了我的问题。

"python.languageServer": "Jedi"

其他回答

安装代码运行器并在设置中添加下面的代码。json文件夹:

    "code-runner.executorMap": {
        "python": "python3 -u",
    }

"python": "(带有模块或路径的python可执行文件)-u",

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

"python.languageServer": "Jedi"

我的解决方案

此解决方案仅适用于当前项目。

In the project root, create folder .vscode Then create the file .vscode/settings.json In the file setting.json, add the line (this is for Python 3) { "python.pythonPath": "/usr/local/bin/python3", } This is the example for Python 2 { "python.pythonPath": "/usr/local/bin/python", } If you don't know where your Python installation is located, just run the command which python or which python3 on the terminal. It will print the Python location. This example works for dockerized Python - Django.

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

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

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

对我来说,如果我将python、pylint和autopep8的路径设置为本地环境路径,它就可以工作。

在你的工作区中添加/修改如下内容:

"python.pythonPath": "...\\your_path\\.venv\\Scripts\\python.exe",
"python.linting.pylintPath": "...\\your_path\\.venv\\Scripts\\pylint.exe",
"python.formatting.autopep8Path": "...\\your_path\\.venv\\Scripts\\autopep8.exe",

保存并使用工作区重新启动VS Code。 完成了!