autopep8 插件的安装及使用

autopep8 插件的安装及使用

1. autopep8简介

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

具体配置如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gHR5FyT3-1605540605885)(5.PNG)]

命名可以随意,上图中命名为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
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值