python - 使用多根工作区时如何为 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 版本。
有什么建议么?
解决方案
多根工作区的设置不是在文件中指定的,vscode/settings.json
而是在您的.vscode-workspace
文件中指定的。
推荐阅读
- javascript - 一次性解构对象并重新分配给不同的变量名
- django - 如何在 django - postgresql 中临时禁用数据库完整性约束
- vba - 在 VBA 中使用 CurrentDb.OpenRecordset
- lua - 函数“fwd_prop_enc”中的错误:尝试调用全局“转发”(零值)
- php - 根据元素位置创建新数组
- python - Pandas 将特定列乘以行中的值
- javascript - 使用 Selenium、jQuery 和 RFT 的自动化数据更改触发问题
- django - 具有多个嵌套模型性能的 Django 插入
- python - 如何使用 django_graphene 解析 django 模型的自定义字段?
- java - Java WSDL DHL 类