Support for pylint/pyflakes/flake8?
Answered
Are there any plans to support pylint/pyflakes/flake8 as inspections in addition to pep8 which is currently available?
Please sign in to leave a comment.
I don't understand at all. There is a well-known community tool `flake8`, free, open-source, and available through pypi/pip. A lot of projects use this tool in their CI systems. Why pycharm-flake8 plugin still does not exist???
Moreover, as written before, PyCharm's embed linting feature does not detect a lot of bugs/issues/tips, already detected by flake8.
I know just one so-so way to use flake8 in PyCharm: use External Tools. There is an article: https://foxmask.trigger-happy.eu/post/2016/02/17/pycharm-running-flake8/ , and here is my config:
Someone keeps a gist sort of up to date here for this : https://gist.github.com/jsmits/9033655
Where can I find information on how to configure these features on per file/scope/line basis (comments in the source code) similarly to how the original tools can be configured?
While I find PyCharm a wonderful tool, I can hardly understand its inability to integrate ubiquitous Python linting tools. The reality is that PyCharm internal linting support will never be able to cover for all pep8/flake8/pylint/pycodestyle linters, is just impossible to keep up with them. That is one reason why I prefer to use Atom when I do not have to perform debugging.
We have similar request on YouTrack: https://youtrack.jetbrains.com/issue/PY-8192. Feel free to vote for it and leave suggestions in comments.
I've wrote a library that offer - kind of - native flake8 integration with pycharm. The library work by pretending to be a pylint executable. It accept pylint arguments and translate it to flake8 counterpart. Similarly it translate flake8 output to equivalent pylint output.
Result is native flake8 support.
https://gitlab.com/ramast/flake8-for-pycharm/
The problem for us is that however good PyCharm's built-in checking, if it does not use the same config files to configure checking that pyflakes uses, then it does not cover "all the features of PyFlakes". When you need to work in a team with people using different editors, you need to use the standard linting tools, end of story.