我使用下面的设置

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

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


当前回答

我正在使用以下设置:(在2021年4月)

Macos big sur vscode 水蟒3(环保版)

我在启动Django时遇到了这个错误。 因此,我执行这些步骤,这个错误就得到了解决。

步骤如下截图所示:

打开设置(工作区) 按照这张截图打开Python Path 现在,单击settings.json中的Edit 创建如下截图所示的路径/opt/anaconda3/bin/python

5. 现在,保存这个设置。json文件。 6. 重新启动vscode

此外,智能感知可能不会工作一段时间,保持等待一段时间,然后重新启动,然后vscode读取文件的新路径。

其他回答

如果有人碰巧像我一样低能,下面的方法就起作用了。

旧文件夹结构:

awesome_code.py
__init__.py
    src/
        __init__.py
        stuff1.py
        stuff2.py

新结构:

awesome_code.py
    src/
        __init__.py
        stuff1.py
        stuff2.py

我的解决方案是在以前的目录中打开Visual Studio Code。

Shinebayar G的解决方案是可行的,但另一个解决方案更优雅一些:

从Python复制未解决的导入问题#3840:

给出以下示例项目结构:

workspaceRootFolder .vscode …其他文件夹 codeFolder

我解决这个问题的方法是:

进入工作区文件夹(这里是workspaceRootFolder)并创建一个.env文件 在这个空的.env文件中,添加一行PYTHONPATH=codeFolder(将codeFolder替换为文件夹名称) 添加“python。envFile”:“$ {workspaceFolder} /。到settings.json中 重新启动Visual Studio代码

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

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

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

对我来说,如果我将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。 完成了!