autopep8 插件的安装及使用
文章目录
1. autopep8简介
autopep8 是一种自动格式化 Python 代码以符合 PEP 8 编码规范的插件。它使用 pycodestyle 实用程序来确定代码的哪些部分需要格式化。autopep8 能够修复大多数可以通过 pycodestyle 报告的格式问题。
由于python是一种缩进敏感、排版敏感的语言,相信很多的python用户都有过编程时大段代码被标黄线的体验。autopep8可以看作是一种辅助工具,可以帮助我们快速实现代码的规范排版。
本文尝试在jupyter notebook和Pycharm两种python常用工具中配置autopep8插件。
ps: autopep8目前还没有在jupyterlab中提供插件服务,但我们可以先学习如何在jupyter_notebook中安装该插件,鉴于jupyterlab的目标是在更高维度上完全替代jupyter_notebook,相信在不久的将来会持续完善这一功能插件。
2. jupyter notebook中autopep8的启用
2.1 在jupyter notebook中启用插件
可以通过CMD或Anaconda Prompt安装:
conda install -c conda-forge jupyter_contrib_nbextensions
安装.js和.css文件:
pip install jupyter_contrib_nbextensions
2.2 在jupyter notebook中启用autopep8
打开jupyter notebook界面,看到菜单栏上增加了nbextension选项,笔者配置好深色界面插件后是这样:
以上界面上呈现出的就是所有可用的插件,如果需要调整正在使用的插件,则首先把“disable configuration for nbextensions without explicit compatibility (they may break your notebook environment, but can be useful to show for nbextension development)” 前面的勾选去掉;
然后就可以在下方的插件列表中找到想要使用的插件,勾选后重新勾选“disable……”选项前的勾选框;
这里我们需要把autopep8前的勾选框勾上;
重启jupyter notebook后,即可在新的notebook中使用autopep8.
2.3 在jupyter notebook中使用autopep8
在jupyter notebook中使用autopep8的方法很简单,因为我们会发现在插件栏上多出一个小锤子的符号
代码随便“乱”写完之后,点一下这个小锤子符号,即会自动进行代码格式规范的修正。
3. Pycharm中autopep8的配置和使用
3.1 安装autopep8
安装方式和2.1节中介绍的相同,不需要进行其他的操作。
3.2 在Pycharm中配置autopep8
File --> Settings --> Tools --> External Tools
点击小“+”号,添加一个External Tool
具体配置如下:
命名可以随意,上图中命名为autopep8;
其中,Tool Settings下面的三个选项分别设置为:
C:\Anaconda3\Scripts\autopep8.exe
--in-place --aggressive --aggressive $FilePathRelativeToProjectRoot$
$ProjectFileDir$
Output filters下面的选项设置为:
$FILE_PATH$\:$LINE$\:$COLUMN$\:.*
3.3 在Pycharm中使用autopep8
使用的时候,非常简单,在菜单栏上
Tools --> External Tools --> autopep8
点击完以后等待即可
3.4 特殊情况下用命令行执行autopep8
笔者就遇到了需要通过使用命令行执行autopep8,因为笔者一时脑抽,把自己的用户账户设成了两个英文单词,这样就使得对应的路径变成了带有空格的样式,实际上,Pycharm配置完成后,也是按照命令行的方式来执行autopep8的,而命令行模式会按照空格对参数进行自动分隔识别。
所以在确实无其他办法的时候,还是在terminal中直接执行命令行比较方便:
autopep8.exe --in-place --aggressive --aggressive test.py
其他办法的时候,还是在terminal中直接执行命令行比较方便:
autopep8.exe --in-place --aggressive --aggressive test.py