如何在使用多根工作空间时为Python语言服务器指定正确的python版本

问题描述 投票:1回答:1

当使用具有多根工作空间的最新VSCode Python扩展(ms-python.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版本。

有什么建议?

python visual-studio-code python-language-server
1个回答
0
投票

多根工作空间的设置未在vscode/settings.json文件中指定,而是在.vscode-workspace file中指定。

© www.soinside.com 2019 - 2024. All rights reserved.