anaconda+sublimetext,报告类型提示为错误
anaconda+sublimetext, reports type hinting as errors
我在 sublimetext3 中有两个 python 项目和 anaconda。由于一些神秘的原因,只有其中一个 anaconda 将类型提示(PEP 0484)报告为 "invalid syntax" 错误(对于参数和函数类型)。可能是什么原因?
Anaconda 对 PEP-484
Type Hints (influenced by PEP-3107
Function Annotations and the mypy
静态类型检查器的应用)仅适用于 Python 3. 我假设抛出错误的项目正在被 Python 2.
要扩展 @MattDMo 的答案,您可以通过按 Cmd/Ctrl+ 强制 Anaconda 包使用 python3
解释器Shift+P,然后选择:
Anaconda: Set Python Interpreter
然后粘贴到您的 python3 解释器的路径,您可以使用 which python3
:
找到它
如果您的代码使用 virtualenv 中的包,请确保放入您的 virtualenv 路径:
/path/to/.virtualenvs/nameofvenv/bin/python3
如果您不在 virtualenv 中,请使用您系统的 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"
}
}
为了扩展 @Nick Sweeting 的答案,值得记住的是类型提示是在 3.5 版 Python 中引入的,因此如果 Anaconda 使用任何先前版本的解释器 Python3,然后它将报告类型提示为无效语法。要解决此问题,只需将 python 解释器设置为 3.5 版本(或更高版本)。
我在 sublimetext3 中有两个 python 项目和 anaconda。由于一些神秘的原因,只有其中一个 anaconda 将类型提示(PEP 0484)报告为 "invalid syntax" 错误(对于参数和函数类型)。可能是什么原因?
Anaconda 对 PEP-484
Type Hints (influenced by PEP-3107
Function Annotations and the mypy
静态类型检查器的应用)仅适用于 Python 3. 我假设抛出错误的项目正在被 Python 2.
要扩展 @MattDMo 的答案,您可以通过按 Cmd/Ctrl+ 强制 Anaconda 包使用 python3
解释器Shift+P,然后选择:
Anaconda: Set Python Interpreter
然后粘贴到您的 python3 解释器的路径,您可以使用 which python3
:
如果您的代码使用 virtualenv 中的包,请确保放入您的 virtualenv 路径:
/path/to/.virtualenvs/nameofvenv/bin/python3
如果您不在 virtualenv 中,请使用您系统的 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"
}
}
为了扩展 @Nick Sweeting 的答案,值得记住的是类型提示是在 3.5 版 Python 中引入的,因此如果 Anaconda 使用任何先前版本的解释器 Python3,然后它将报告类型提示为无效语法。要解决此问题,只需将 python 解释器设置为 3.5 版本(或更高版本)。