我在 sublimetext3 中有两个带有 anaconda 的 python 项目。由于一些神秘的原因,只有其中一个 anaconda 将类型提示 (PEP 0484) 报告为“无效语法”错误(对于参数和函数类型)。可能是什么原因?
问问题
1725 次
3 回答
12
要扩展@MattDMopython3
的答案,您可以通过按Cmd/Ctrl+ Shift+强制 Anaconda 包使用解释器P,然后选择:
Anaconda: Set Python Interpreter
然后粘贴到您的 python3 解释器的路径中,您可以使用以下命令找到它which python3
:
如果您的代码使用 virtualenv 中的包,请确保放入您的 virtualenv 路径:
/path/to/.virtualenvs/nameofvenv/bin/python3
如果您不在 virtualenv 中,请使用系统的python3
:
/usr/bin/python3
或用于Mac 上/usr/local/bin/python3
的自制软件。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"
}
}
于 2016-07-28T20:32:39.643 回答
2
为了扩展@Nick Sweeting的答案,值得记住的是类型提示是在 3.5 版中引入 Python 的,因此如果 Anaconda 使用任何先前版本的 Python3 的解释器,那么它会将类型提示报告为无效语法。要解决这个问题,只需将 python 解释器设置为 3.5 版本(或更高版本)。
于 2017-05-10T09:32:53.110 回答