【发布时间】:2016-06-02 21:49:24
【问题描述】:
我在 sublimetext3 中有两个带有 anaconda 的 python 项目。由于一些神秘的原因,只有其中一个 anaconda 将类型提示 (PEP 0484) 报告为“无效语法”错误(对于参数和函数类型)。可能是什么原因?
【问题讨论】:
标签: python sublimetext3 sublime-anaconda
我在 sublimetext3 中有两个带有 anaconda 的 python 项目。由于一些神秘的原因,只有其中一个 anaconda 将类型提示 (PEP 0484) 报告为“无效语法”错误(对于参数和函数类型)。可能是什么原因?
【问题讨论】:
标签: python sublimetext3 sublime-anaconda
要扩展 @MattDMo 的答案,您可以通过按 Cmd/Ctrl+Shift+python3 解释器>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 的回答,值得记住的是,Type Hinting 是在 3.5 版中引入 Python 的,所以如果 Anaconda 使用任何以前版本的 Python3 的解释器,那么它会将 Type Hints 报告为无效的语法。要解决这个问题,只需将 python 解释器设置为 3.5 版本(或更高版本)。
【讨论】: