Pyflakes "invalid syntax" 并在花括号中打印函数的变量
Pyflakes "invalid syntax" and print function's variable in curly braces
我安装了 Sublime Text 3、SublimeLinter 插件和 pyflakes linter。
在 pip pyflakes 版本是 1.6.0。 OS 赢得 7 x86。
my_name = 'Name'
print(f"My name is {my_name}.")
这里是错误:
SublimeLinter: pyflakes output:
ex3.py:9:30: invalid syntax
print(f"My name is {my_name}.")
^
此外,通过这种构造我没有错误:
print("My name is {}.".format(my_name))
代码运行得很好,但为什么 pyflakes 给我这个错误呢?是 pyflakes 问题还是什么?
这是一个已知问题,请参阅此处:
https://gitlab.com/pycqa/flake8/issues/296
目前版本似乎已经修复了...
编辑:由于您使用的是最新版本,也许您正在 运行 遇到 sublime-linter 的问题,如下所示:
https://forum.sublimetext.com/t/sublimelinter-pyflakes-not-matching-pyflakes-from-cli/31348/3
要对此进行测试,您可以 运行 在 sublime 之外的命令行中使用 pyflakes 命令来查看它是否有效。
Edit2:根据提问者的评论,使用 SublimeLinter-flake8
而不是 SublimeLinter-pyflakes
与来自 python 3.6+
.
的 f-strings 兼容
(另外,对于双重发布的答案感到抱歉。感谢您删除一个,@Andy。我不知道那里发生了什么。)
所以,最好的方法是使用 SublimeLinter-flake8 而不是 SublimeLinter-pyflakes 和 python 3.6+,因为 pyflakes linter 与 3.6 尚不兼容。 flake8 的功能与 pyflakes 相同,甚至更多。
我安装了 Sublime Text 3、SublimeLinter 插件和 pyflakes linter。 在 pip pyflakes 版本是 1.6.0。 OS 赢得 7 x86。
my_name = 'Name'
print(f"My name is {my_name}.")
这里是错误:
SublimeLinter: pyflakes output:
ex3.py:9:30: invalid syntax
print(f"My name is {my_name}.")
^
此外,通过这种构造我没有错误:
print("My name is {}.".format(my_name))
代码运行得很好,但为什么 pyflakes 给我这个错误呢?是 pyflakes 问题还是什么?
这是一个已知问题,请参阅此处:
https://gitlab.com/pycqa/flake8/issues/296
目前版本似乎已经修复了...
编辑:由于您使用的是最新版本,也许您正在 运行 遇到 sublime-linter 的问题,如下所示:
https://forum.sublimetext.com/t/sublimelinter-pyflakes-not-matching-pyflakes-from-cli/31348/3
要对此进行测试,您可以 运行 在 sublime 之外的命令行中使用 pyflakes 命令来查看它是否有效。
Edit2:根据提问者的评论,使用 SublimeLinter-flake8
而不是 SublimeLinter-pyflakes
与来自 python 3.6+
.
(另外,对于双重发布的答案感到抱歉。感谢您删除一个,@Andy。我不知道那里发生了什么。)
所以,最好的方法是使用 SublimeLinter-flake8 而不是 SublimeLinter-pyflakes 和 python 3.6+,因为 pyflakes linter 与 3.6 尚不兼容。 flake8 的功能与 pyflakes 相同,甚至更多。