V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Livid
V2EX  ›  Python

大家在自己的 Python 项目中倾向使用哪个 Linter?

  •  
  •   Livid · 2019-07-31 03:41:38 +08:00 · 16167 次点击
    这是一个创建于 1944 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • bandit
    • flake8
    • mypy
    • pep8
    • prospector
    • pydocstyle
    • pylama
    • pylint
    31 条回复    2019-08-01 12:10:18 +08:00
    pinepara
        1
    pinepara  
       2019-07-31 04:11:32 +08:00   ❤️ 1
    Livid
        2
    Livid  
    MOD
    OP
       2019-07-31 04:14:36 +08:00
    @pinepara 感谢。

    这个项目很有意思。我会去学习一下。

    df4VW
        3
    df4VW  
       2019-07-31 04:17:52 +08:00
    black 是 formatter,然后用 flake8 做 linter
    Yvette
        4
    Yvette  
       2019-07-31 04:20:26 +08:00
    我也在用 black,因为据我所知只有它可以把单引号变成双引号,剩下的功能基本上都大同小异。不过这个在 VS Code 里面属于 formatter,在 linter 里没有它,可能跟 linter 是两类东西?
    silkriver
        5
    silkriver  
       2019-07-31 07:59:10 +08:00
    应该叫 pycodestyle,pep8 是旧名
    https://github.com/PyCQA/pycodestyle/issues/466
    lrh3321
        6
    lrh3321  
       2019-07-31 08:17:27 +08:00 via Android
    flake8
    muzuiget
        7
    muzuiget  
       2019-07-31 08:22:51 +08:00
    pylint
    ipwx
        8
    ipwx  
       2019-07-31 08:29:49 +08:00 via Android   ❤️ 2
    pycharm ...
    xiaket
        9
    xiaket  
       2019-07-31 08:32:18 +08:00
    大部分用 black, 想正式一点就用 pylint 跑一下, 不过写 python 这么多年, 自认为已经不逾矩了... (已经被各种 linter 调教好了)
    sidegem
        10
    sidegem  
       2019-07-31 08:45:26 +08:00 via iPhone
    flake8
    secsilm
        11
    secsilm  
       2019-07-31 08:51:27 +08:00 via Android
    black 是 formatter,不是 linter
    SuperMild
        12
    SuperMild  
       2019-07-31 08:52:48 +08:00
    flake8
    lfcyme
        13
    lfcyme  
       2019-07-31 08:58:02 +08:00 via Android
    pep8
    whoami9894
        14
    whoami9894  
       2019-07-31 09:01:55 +08:00 via Android
    @Yvette
    单行字符串的单引号也替换成双引号吗,我记着 Google 的 Python 规范推荐字符串用单引号
    congeec
        15
    congeec  
       2019-07-31 09:03:02 +08:00
    用 flake8,pylint 又慢又严格,flake8 刚好
    sikariba
        16
    sikariba  
       2019-07-31 09:18:12 +08:00
    单引号只用摁一个键,双引号还要加一个 shift
    littlewey
        17
    littlewey  
       2019-07-31 09:25:45 +08:00 via iPhone
    flake8
    janxin
        18
    janxin  
       2019-07-31 09:31:06 +08:00
    jedi+black+flake8+mypy+pydocstyle

    VSCode 使用工具列表
    Yvette
        19
    Yvette  
       2019-07-31 09:33:22 +08:00
    @whoami9894 Google 的代码规范的目的只是为了协作和风格嘛,并没有对错之分的。如果不需要 string normalization 可以加 -S 参数来关掉
    CatCode
        20
    CatCode  
       2019-07-31 09:36:14 +08:00
    之前用的 vscode,pylint+pep8,但是 format 的时候觉得一行不算长的代码,都给截断成两行。
    然后,就换了 pycharm。
    jdhao
        21
    jdhao  
       2019-07-31 09:48:28 +08:00 via Android
    pylint 和 flake8,不用 formatter
    shidenggui
        22
    shidenggui  
       2019-07-31 12:07:25 +08:00
    pylint + isort + black
    gnozix
        23
    gnozix  
       2019-07-31 12:09:37 +08:00
    没有使用 pyre 的吗
    BBCCBB
        24
    BBCCBB  
       2019-07-31 12:12:50 +08:00
    有大侠知道 autopep8 等怎么配置格式化时候的缩进等配置的吗?? 比如用两个空格还是 4 个...
    forever0y
        25
    forever0y  
       2019-07-31 12:34:15 +08:00
    脑子 lint,或者 Code Review 让同事 Lint。
    xpresslink
        26
    xpresslink  
       2019-07-31 14:38:58 +08:00
    直接用 Pycharm 就得了,还不嫌累折腾这个。
    ytmsdy
        27
    ytmsdy  
       2019-07-31 14:44:48 +08:00
    Pycharm+1
    4ever911
        28
    4ever911  
       2019-07-31 16:39:59 +08:00
    disabled
    ClericPy
        29
    ClericPy  
       2019-07-31 17:48:33 +08:00
    都试过, 包括 pyright
    一般情况用 Pycharm 自带的就够了

    我现在是 vscode 里的 mypy + flake8, 格式化用的 自定义 yapf

    一开始是 black 忠实拥趸, 然后看到 issue 里作者拒绝实现 format selection 这个功能, 粉转路了, 很多地方不如 yapf 的兼容性, 包括同时支持 py2 调用, 不过这是 1 年多以前的看法, 最近没太关注了
    PS: black 作者的头像看起来有点让我心慌...
    banxi1988
        30
    banxi1988  
       2019-07-31 23:32:49 +08:00
    PyCharm 自带, 加配置了 mypy, 毕竟现在追求静态类型声明.
    格式化用 black ,省心.

    PS: 这么久了,站长能把我从小黑屋放出来了吗?
    frostming
        31
    frostming  
       2019-08-01 12:10:18 +08:00
    flake8 + mypy
    formatter 用 black

    pylint 太啰嗦了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3614 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:09 · PVG 19:09 · LAX 03:09 · JFK 06:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.