推荐学习书目
› 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
sdjl
V2EX  ›  Python

Vim 写 Python ,有没有轻量级的语法检测(Lint)工具?

  •  
  •   sdjl · Aug 9, 2018 · 6455 views
    This topic created in 3012 days ago, the information mentioned may be changed or developed.
    我用 vim 写 python,希望语法检测功能能提醒我 “变量名未申明却使用”,以及“变量申明了但未使用”。

    我装过 vim-flake8、pymode,但这些东西太复杂,提醒了一大堆我不需要的错误。

    我想要一个轻量级的 lint 工具,解决最基本的语法错误就行,谢谢~
    23 replies  •  2018-08-13 16:41:11 +08:00
    kiwi95
    kiwi95
    Aug 9, 2018 via Android❤️1
    1
    解决所有这些错误后会发现自己写的 python 代码好多了
    noNOno
    noNOno
    Aug 9, 2018
    2
    同意 1L 观点.
    BBCCBB
    BBCCBB
    Aug 9, 2018❤️2
    3
    ale, github 搜索, 装上后就不用管了
    zhuangzhuang1988
    zhuangzhuang1988
    Aug 9, 2018❤️2
    4
    用 pycharm 哪怕免费版本
    也比一堆配置出来的 bug 多多的开源的强 1000 倍
    jhsunnyshine
    jhsunnyshine
    Aug 9, 2018 via Android
    5
    4 楼都不看楼主是用 Vim 的嘛,很大程度都没有图形界面,就算有,人家也是要 Vim 插件的呀~
    sdjl
    sdjl
    OP
    Aug 9, 2018
    6
    @BBCCBB 谢谢,我看看

    @kiwi95 同意,不过我喜欢有自己的代码风格呢~

    @zhuangzhuang1988 只用 vim
    Biebe
    Biebe
    Aug 9, 2018 via iPhone
    7
    lsp
    zergmk2
    zergmk2
    Aug 9, 2018 via Android
    8
    pycharm + vim plugin …
    xuboying
    xuboying
    Aug 9, 2018
    9
    flake8 已经非常好了,默认不配置也不会很啰嗦,加一个 autopep 的插件可以解决 80%+的格式错误
    真正啰嗦的是 pylint,楼主可以比较一下。。。

    如果楼主想了解其他检查工具,可以看看 vim 的 ale 插件关于 python 的建议
    heikejia
    heikejia
    Aug 9, 2018
    10
    https://github.com/neomake/neomake


    silent! call neomake#configure#automake('nrwi', 500)

    这需要这个配置就行。

    https://github.com/tracyone/vinux
    bufpay
    bufpay
    Aug 9, 2018
    11
    python 变量不用声明呀
    whoami9894
    whoami9894
    Aug 10, 2018 via Android
    12
    @bufpay
    你是个人才……
    whoami9894
    whoami9894
    Aug 10, 2018 via Android
    13
    假如不是远程作业的话,可以试试 wingide+vim 模式
    bufpay
    bufpay
    Aug 10, 2018
    14
    @whoami9894 楼主的意思应该是 赋值 吧
    sdjl
    sdjl
    OP
    Aug 10, 2018
    15
    sdjl
    sdjl
    OP
    Aug 10, 2018
    16
    @bufpay

    a = 1 + 1

    这时 a 不就申明了么,如果不使用 a,就需要提示
    czjackjin
    czjackjin
    Aug 10, 2018❤️1
    17
    配置一下,把一些不需要的错误代码配置就去,就屏蔽一部分了。
    "let g:syntastic_python_checkers=['flake8']
    "let g:syntastic_python_flake8_args='--ignore=W,F,E121,E123,E126,E226,E402,E271,E24,E704,W503,W504,E265,F401,E501,E231,E225,E303,E302,E203,W291,E261,E262,F841,W391,E101'
    "
    可以参考着改下
    sdjl
    sdjl
    OP
    Aug 10, 2018
    18
    @czjackjin 谢谢!
    symons
    symons
    Aug 10, 2018
    19
    肉眼
    innocent
    innocent
    Aug 10, 2018 via Android
    20
    执行一下就知道错哪儿了
    sdjl
    sdjl
    OP
    Aug 11, 2018
    21
    @innocent 我写的是 web 程序
    zqguo
    zqguo
    Aug 13, 2018
    22
    vim 大佬
    sdjl
    sdjl
    OP
    Aug 13, 2018
    23
    最后用的是 flake8,忽略部分错误

    http://flake8.pycqa.org/en/latest/user/configuration.html
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   725 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 19:44 · PVG 03:44 · LAX 11:44 · JFK 14:44
    ♥ Do have faith in what you're doing.