我使用下面的设置

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

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


当前回答

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

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

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

其他回答

在你的工作空间设置中,你可以这样设置你的Python路径:

{
    "python.defaultInterpreterPath": "/path/to/your/venv/bin/python",
}

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

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

改变 Python:语言的服务器 变成绝地武士对我有用。 最初它叫“Windows”。

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

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

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

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

我的解决方案

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

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.