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

时间:2018-11-16 03:12:49

标签: python visual-studio-code python-language-server

在多根工作空间中使用最新的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 Language Server在childB目录中识别正确的Python版本。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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