如何使用pyflakes给python做语法检查

Python012

如何使用pyflakes给python做语法检查,第1张

pyflakes有三种使用方法,第一种是当作命令行工具使用。第二种可以作为vim的插件,在vim编辑器中使用,实现所见即所得。第三种是可以在emacs中使用。

pyflakes作为命令行工具

安装pyflakes这个程序很简单。可以在pyflakes的官网这个网站进行下载:

http://pypi.python.org/pypi/pyflakes

这是一个命令行工具。在linux下,可以直接运行 ‘pyflakes 文件名’ 对文件进行语法检查。

在vim编辑器中使用pyflakes

首先要确保vim支持python2.5以上版本,如果不确定是否支持,请在vim中运行命令。

<!-- lang: shell -->

:version

结果例如:

+代表支持的功能,-代表不支持的功能。由于上图所示的vim不支持python, 所以需要重新编译vim。

要编译支持python2.5以上版本的vim, 第一要具有python2.5以上版本。第二要有vim源码,./configure

–with-features=huge –enable-pythoninterp 然后再运行make make install编译并且安装。

确定vim支持python2.5以上版本的方法为,在vim中运行“:python import sysprint sys.version”

在vim支持了Python之后,直接下载[pyflakes.vim]

3 http://www.vim.org/scripts/script.php?script_id=2441

将下载的压缩包,放在$HOME/.vim/下解压。在$HOME/.vim/ftplugin/python/下会增加一个pyflakes目录和pyflakes.vim文件。

然后在.vimrc文件中增加”filetype plugin indent on“。即可实现在vim编辑器中检查python语法的功能。

emacs支持

emacs可以通过flymake支持pyflakes。首先要安装命令行模式的pyflakes, 然后将下面的代码加入$HOME/.emacs

<!-- lang: cpp -->

(autoload 'flymake-find-file-hook "flymake" "" t)

(add-hook 'find-file-hook 'flymake-find-file-hook)

(setq flymake-gui-warnings-enabled nil)

(setq flymake-log-level 0)

(when (load "flymake" t)

(

defun flymake-pycheckers-init ()

(

let*

(

(

temp-file

(

flymake-init-create-temp-buffer-copy

'flymake-create-temp-inplace

)

)

(

local-file

(

file-relative-name

temp-file

(

file-name-directory buffer-file-name

)

)

)

)

(

list "pyflakes" (list local-file)

)

)

(add-to-list 'flymake-allowed-file-name-masks

'("\\.py\\'" flymake-pycheckers-init))

)

)

然后在emacs界面中可以显示python语法错误的地方。

第一款:最强终端 Upterm

它是一个全平台的终端,可以说是终端里的IDE,有着强大的自动补全功能,之前的名字叫作:BlackWindow。有人跟他说这个名字不利于社区推广,改名叫Upterm之后现在已经17000+Star了。

第二款:交互式解释器 PtPython

一个交互式的Python解释器,支持语法高亮、提示,甚至是VIM和emacs的键入模式。

第三款:包管理必备 Anaconda

强烈推荐:Anaconda。它能帮你安装许多麻烦的东西,包括:Python环境、pip包管理工具、常用的库、配置好环境路径等等。这些小事情小白自己一个个去做的话,容易遇到各种问题,也容易造成挫败感。如果你想用Python搞数据方面的事情,安装它就可以了,它甚至开发了一套JIT的解释器Numba。所以Anaconda有了JIT之后,对线上科学计算效率要求比较高的东西也可以搞定了。

第四款:编辑器 Sublime3

如果你是小白的话,推荐从PyCharm开始上手,但是有时候写一些轻量的小脚本,就会想到轻量级一点的工具。Sublime3很多地方都有了极大的提升,并且用起来比原来还要简单,配合安装Anaconda或CodeIntel插件,可以让Sublime3拥有近乎IDE的体验。

第五款:前端在线编辑器 CodeSandbox

虽然这个不算是真正意义上的Python开发工具,但如果后端工程师想要写前端的话,这个在线编辑器太方便了,节省了后端工程师的生命。不用安装npm的几千个包了,它已经在云端完成了,才让你直接就可以上手写代码、看效果。对于React、Vue这些主流前端框架都支持。

第六款:Python Tutor

Python

Tutor是一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在web浏览器中编写Python代码,并逐步可视化地运行程序。

第七款:IPython

如何进行交互式编程?没错,就是通过IPython。IPython相对于Python自带的shell要好用的多,并且能够支持代码缩进、TAB键补全代码等功能。如果进行交互式编程,这是不可缺少的工具。

第八款:Jupyter Notebook

Jupyter

Notebook就像一个草稿本,能将文本注释、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,以Web页面的方式展示,它是数据分析、机器学习的必备工具。

第九款:Pycharm

Pycharm是程序员常常使用的开发工具,简单、易用,并且能够设置不同的主题模式,根据自己的喜好来设置代码风格。

第十款:Python Tutor

这个工具可能对初学者比较有用,而对于中高级程序员则用处较少。这个工具的特色是能够清楚的理解每一行代码是如何在计算机中执行的,中高级程序员一般通过分步调试可以实现类似的功能。这个工具对于最初接触Python、最初来学习编程的同学还是非常有用的,初学者可以体验一下。

Codemirror支持python语法检查

CodeMirror 是一款“Online Source Editor”,基于Javascript,短小精悍,实时在线代码高亮显示,他不是某个富文本编辑器的附属产品,他是许多大名鼎鼎的在线代码编辑器的基础库。