gpt4 book ai didi

python - Flake8 不在全局 python 实例中使用 pyflakes

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:39 27 4
gpt4 key购买 nike

我的 flake8 的 pyflakes 部分没有为我的全局 python 实例运行(/usr/bin/python,不是 virtualenv)。

flake8 --version
2.2.3 (pep8: 1.5.7, mccabe: 0.2.1) CPython 2.7.5 on Darwin

pyflakes 似乎没有附加到 flake8。 pip freeze 确认安装了 pyflakes==0.8.1。我在我的全局站点包上安装了 ($ sudo pip install flake8)。

但是,当在 virtualenv 中运行时,pyflakes 在列表中,而 flake8 按预期工作。

最佳答案

conda 的 flake8 也有类似的问题。以下是一些调试说明:

flake8 在其 setup.py 文件中注册 pyflakes 检查器:

setup(
...
entry_points={
'distutils.commands': ['flake8 = flake8.main:Flake8Command'],
'console_scripts': ['flake8 = flake8.main:main'],
'flake8.extension': [
'F = flake8._pyflakes:FlakesChecker',
],
},
...

检查文件时,flake8 加载“flake8.extension”的注册入口点并注册找到的检查器:

...
for entry in iter_entry_points('flake8.extension'):
checker = entry.load()
pep8.register_check(checker, codes=[entry.name])
...

conda 的 flake8 似乎在编写这些入口点时有问题。

from pkg_resources import iter_entry_points
list(iter_entry_points('flake8.extension'))

为我返回一个空列表,这就是为什么 pyflakes 不会被注册并因此不起作用,即使它已安装且可导入也是如此。

更新 setuptools 并通过 pip install flake8 安装解决了我的问题。

关于python - Flake8 不在全局 python 实例中使用 pyflakes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153267/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com