Cod*_*ody 27 python python-3.x flake8
在此代码段中,
def add(x:int, y:int) -> int:
return x + y
Run Code Online (Sandbox Code Playgroud)
有一些函数注释只在python 3.0之后支持
当我为这个python代码执行flake8时:
$ flake8 7.3.py -vv
checking 7.3.py
def add(x: int, y: int) -> int:
return x + y
7.3.py:1:11: E901 SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我得到了无效的语法错误,但它应该是有效的语法.如何使用flake8来检查Python 3.x中仅支持的语法?
Jam*_*lls 16
请参阅:https://bugs.launchpad.net/pyflakes/+bug/989203
注意:虽然这个错误报告表明某种程度的解决方案,但测试最新版本的pyflakes,0.8.1
这种缺乏的Python 3注释仍然存在.
我想你必须向pyflakes提交一个单独的新功能请求.
$ cat - > foo.py
def add(x:int, y:int) -> int:
return x + y
^D
$ pyflakes --version
0.8.1
$ pyflakes foo.py
foo.py:1:10: invalid syntax
def add(x:int, y:int) -> int:
^
Run Code Online (Sandbox Code Playgroud)
更新(20140514):
事实证明实际的答案,这个问题是运行pyflakes
或flake8
下的Python 3.X,而不是Python的2.x的 这说得通 :)
所以做这样的事情:
/usr/bin/python3 -m pyflakes foo.py
Run Code Online (Sandbox Code Playgroud)
请参阅:http://codepad.org/9BKxSZaD
我在reddit(这里)得到了答案:
它使用路径中Python中安装的任何flake8.
所以你需要通过pip3安装flake8,而不是pip.
在我的OSX上,
pip3 install flake8
Run Code Online (Sandbox Code Playgroud)
这对我有用.:)
归档时间: |
|
查看次数: |
13546 次 |
最近记录: |