Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将flake8用于Python 3?_Python_Python 3.x_Flake8 - Fatal编程技术网

如何将flake8用于Python 3?

如何将flake8用于Python 3?,python,python-3.x,flake8,Python,Python 3.x,Flake8,在这个代码片段中 def add(x:int, y:int) -> int: return x + y 有些函数注释仅在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 我得到了无效的语法错

在这个代码片段中

def add(x:int, y:int) -> int:
    return x + y
有些函数注释仅在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
我得到了无效的语法错误,但它应该是有效的语法。如何使用flake8检查仅在Python 3.x中支持的语法?

请参阅:

NB:虽然此错误报告显示了某种程度的解决方案,但测试最新版本的pyflakes
0.8.1
仍然存在Python 3注释的不足

我想你必须向pyflakes提交一个单独的新功能请求

更新(20140514):

事实证明,这个问题的实际答案是运行
pyflakes
flake8
在Python3.x而不是Python2.x下。有道理:)

因此,请这样做:

/usr/bin/python3 -m pyflakes foo.py

请参阅:

我在reddit()上找到了答案:

它在路径中使用Python中安装的任何flake8

因此,您需要通过pip3而不是pip安装flake8

在OSX上为我

pip3 install flake8

这对我有用。:)

为Mac+py2+py3+venv工作:

pip install flake8
flake8 --version
3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.5.0) CPython 2.7.14 on Darwin

pip3 install flake8
python3 -m flake8 --version
3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.6.0) CPython 3.6.1 on Darwin
python3 -m flake8 --exclude migrations --max-line-length=121

您需要确保使用的是python3的Flake 8。在linux上,您需要执行以下操作:

sudo pip uninstall flake8
sudo pip3 install flake8

你们可能都应该使用(
python3-m-venv-venv;source-venv/bin/activate
)。。。这样,“python”和“pip”就可以使用您想要的,默认情况下。。。就这么说。

我遇到了一个类似的问题,通过python安装flake8解决了这个问题

$ python --version
Python 3.8.3

$ python -m pip install flake8

请看:谢谢,我已经提交了一份bug报告:我收到了pyflakes的反馈。我们需要在Python3中执行pyflakes以消除该错误。也就是说,Python2中的pyflakes不能用于Python3脚本。这实际上是有道理的!不知道为什么我没想到!我将更新答案以包含此内容!谢谢这对我也有用。我还必须卸载自制版本。使用分发服务器ID:Ubuntu描述:Ubuntu 18.04.1 LTS发行版:18.04代码名:Bionic这不是这个问题的有效答案。我与原始问题中的错误相同。我尝试了一个被接受的答案,但没有成功。我发现通过python安装解决了模块版本冲突。
$ python --version
Python 3.8.3

$ python -m pip install flake8