如何使用 Python 的 Emacs Flymake 模式以及 pyflakes 和 pylint 检查代码?
为了在 python 模式下检查代码,我使用 Flymake 和 pyflakes
我也想检查代码风格(pep8)与 pylint (与 pyflakes 位于同一页面上的说明)
此解决方案有效。 但我无法配置 Flymake 来与 pyflakes 和 pylint 一起使用。 我该怎么做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
vaab 的
pychechker
的 Windows 批处理版本Windows batch version of vaab's
pychechker
通常可以在 python-mode-hook 中启用 Flymake 模式。 不幸的是,这会导致 py-execute-buffer 等问题,这些问题会创建临时缓冲区,调用钩子,然后由于缺少“真实文件”而导致 Flymake 模式打嗝。 解决方案是修改添加钩子的条件:-例如我的是:
Usually one can enable flymake mode in the python-mode-hook. Unfortunately that causes issues with things like py-execute-buffer which create temporary buffers which invoke the hook and then cause flymake mode to hiccup because of the lack of "real file". The solution is to modify the conditions where you add the hook:- e.g mine is:
您可能想在这里查看 Lisp 脚本 (http://charlie137-2.blogspot.com/2009/08/check-python-coding-style-on-fly-with.html),这应该有助于检查 PEP8 pep8.py。 我不使用 pyflakes 或 pylint,但我想您可以轻松调整它以与其他检查器一起使用。
You may want to check out the Lisp script here (http://charlie137-2.blogspot.com/2009/08/check-python-coding-style-on-fly-with.html), which should help with checking PEP8 a la pep8.py. I don't use pyflakes or pylint, but I imagine you could easily adjust this to work with other checkers.
好吧,flymake 只是寻找一个可执行命令,该命令以预定义格式输出行。 例如,您可以制作一个 shell 脚本,它将连续调用您想要的所有检查器...
您还必须确保您的脚本以返回错误级别 0 结束。所以这是一个示例:
这是我在“中所做的” pycheckers”脚本:
对于 emacs lisp 部分:
Well, flymake is just looking for a executable command thats output lines in a predefined format. You can make a shell script for example that will call successively all the checkers you want...
You must also make sure that your script ends by returning errorlevel 0. So this is an example:
This is what I've done in a "pycheckers" script:
For the emacs lisp part: