Sea*_*123 34 python pep8 ipython ipython-notebook
是否有一种简单的方法来检查iPython笔记本代码在编写时是否符合PEP8?
Mat*_*ijn 26
确保您的模块pycodestyle能够根据样式指南检查您的代码.然后使用flake8模块(github repo)启用魔术功能:
pip install pycodestyle flake8 pycodestyle_magic
Run Code Online (Sandbox Code Playgroud)
pycodestyle_magic
%load_ext pycodestyle_magic%pycodestyle_on
编辑(2018-09-11)
从%flake8_on版本0.2.2开始,还可以检查%pycodestyle_off样式指南.运用
%flake8_off
Rag*_* RV 13
使用以下命令为ipython notebook安装pep8扩展:
%install_ext https://raw.githubusercontent.com/SiggyF/notebooks/master/pep8_magic.py
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅官方文档.
之后使用%%pep8Cell magic功能检查您的特定单元格的pep8样式.
请注意,这必须放在需要强制执行pep8检查的每个单元格中.
请参阅此示例.
Dav*_*idC 10
如果这有助于任何人,我正在使用:
conttest "jupyter nbconvert notebook.ipynb --stdout --to script | flake8 - --ignore=W391"
conttest 保存更改到笔记本时重新运行flake8 - 告诉flake8从stdin获取输入--ignore=W391- 这是因为输出jupyter nbconvert似乎总是在文件末尾有一个"空行",所以我不希望flake8抱怨这一点.我遇到了markdown单元格的问题(但是它的行长度可能合法地很长):忽略`jupyter nbconvert`中带有`--to script`的markdown单元格.