首页 > 解决方案 > 使用多根工作区时如何为 Python 语言服务器指定正确的 Python 版本

问题描述

有谁知道在使用ms-python.python具有多根工作区的最新 VSCode Python 扩展()时如何指定正确的 Python 版本?

我的全局python环境是2.7,我的VSCode项目的目录结构如下:

root ├ .vscode │ ├ childA(Python2.7) │ ├ .venv(virtualenv directory created by Pipenv) │ └ .vscode │ └ childB(Python3.7) │ ├ .venv(virtualenv directory created by Pipenv) └ .vscode

我将 pythonPath 设置为两个子目录的.vscode/settings.json文件,如下所示: "python.pythonPath": ".venv/bin/python"

最近我更新了 VSCode Python 扩展,之后在 ChildB 目录下,Python 扩展总是显示如下错误消息: [Python] invalid syntax, parameter annotations require 3.x [E16]

我使用如下类型注释: def add(p1: int, p2: int) return p1 + p2

此错误消息由我在这里找到的 Python 语言服务器返回: https ://github.com/Microsoft/python-language-server/blob/7be329643299111cc1f0839d20aa9eb146b0d381/src/Analysis/Engine/Impl/Parsing/Parser.cs#L2088

当我不使用多根工作区时,不会显示此错误。

我认为最新的 Python 扩展无法识别我在.vscode/settings.json使用多根工作区时设置的正确 Python 版本。

我希望 Python 语言服务器能够在 childB 目录中识别正确的 Python 版本。

有什么建议么?

标签: pythonvisual-studio-codepython-language-server

解决方案


多根工作区的设置不是在文件中指定的,vscode/settings.json而是在您的.vscode-workspace文件中指定的。


推荐阅读