anaconda+sublimetext,将类型提示报告为错误



我在sublimetext3中有两个python项目,带有anaconda。出于一些神秘的原因,仅在其中一个 anaconda 将类型提示 (PEP 0484) 报告为"无效语法"错误(对于:参数和函数类型)。可能是什么原因?

要扩展@MattDMo的答案,python3您可以通过按 Cmd/Ctrl+Shift+P 然后选择:

Anaconda: Set Python Interpreter

然后粘贴 python3 解释器的路径,您可以使用 which python3 找到该路径:

如果您的代码使用 virtualenv 中的包,请确保输入您的 virtualenv 路径: /path/to/.virtualenvs/nameofvenv/bin/python3

如果您不在虚拟环境中,请使用系统的python3

/usr/bin/python3/usr/local/bin/python3自制软件在Mac上的python3

正确将其设置为 python3 应该可以修复类型注释上的Invalid Syntax错误。

您还可以直接编辑项目文件以设置解释器路径:

{
    "build_systems":
    [
        {
            "file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
            "name": "Anaconda Python Builder",
            "selector": "source.python",
            "shell_cmd": ""/path/to/.virtualenvs/venvname/bin/python3" -u "$file""
        }
    ],
    "settings":
    {
        "python_interpreter": "/path/to/.virtualenvs/venvname/bin/python3"
    }
}

Anaconda对PEP-484类型提示的应用(受PEP-3107函数注释和mypy静态类型检查器的影响)仅适用于Python 3。我假设抛出错误的项目正在被 Python 2 检查。

为了扩展 Sweeting @Nick答案,值得记住的是,Type Hinting 是在 Python 3.5 版本中引入的,所以如果 Anaconda 使用任何以前版本的 Python3 解释器,那么它会将类型提示报告为无效语法。要解决此问题,只需将python解释器设置为3.5版本(或更高版本)。

最新更新