我使用下面的设置

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

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


当前回答

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

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

给出以下示例项目结构:

workspaceRootFolder .vscode …其他文件夹 codeFolder

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

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

其他回答

我有同样的问题与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"
   }

这里没有一个答案为我解决了这个错误。代码可以运行,但我不能直接跳转到函数定义。只针对某些本地包裹。首先,python。jediEnabled不再是有效选项。我做了两件事,但我不确定第一件事是否必要:

下载Pylance扩展,更改python。languageServer到“Pylance” 添加“python.analysis。extraPaths": ["path_to/src_file"]

显然,根和src将检查本地包,但其他包必须添加到这里。

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

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

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

我已经通过Ctrl + Shift + P解决了导入错误。 输入“首选项设置”,并选择选项首选项打开设置(JSON)

并添加一行“python”。pythonPath环境”:“/ usr / bin /”

因此JSON内容应该是这样的:

{
    "python.pythonPath": "/usr/bin/"
}

如果存在其他配置行,则保留它们。 这将导入使用PIP自动完成安装的所有模块。

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

{
    "python.jediEnabled": false
}