web-dev-qa-db-ja.com

iPythonノートブックコードでのPEP8の検証

IPythonノートブックコードが記述されているときに、PEP8に準拠していることを確認する簡単な方法はありますか?

38
Seanny123

これが誰かを助ける場合、私は使用しています:

conttest "jupyter nbconvert notebook.ipynb --stdout --to script | flake8 - --ignore=W391"

  • conttestノートブックへの変更を保存すると再実行されます
  • flake8 -は、flake8にstdinから入力を受け取るように指示します
  • --ignore=W391-これは、jupyter nbconvertの出力に常に「ファイルの最後に空白行」があるように見えるためです。

マークダウンセルに問題があります(ただし、行の長さが合法的にかなり長い可能性があります): `jutoter nbconvert`のマークダウンセルを` --to script`で無視します

12
DavidC

モジュールがpycodestyleまたはflake8であることを確認して、スタイルガイドに対してコードをチェックできるようにしてください。次に、pycodestyle_magicモジュールを使用してマジック関数を有効にします( github repo ):

pip install flake8 pycodestyle_magic
  • まず、Jupyter Notebookセルに魔法をロードします。

%load_ext pycodestyle_magic

  • マジックをオンにして、各セルのコンプライアンスチェックを実行します。

%pycodestyle_onまたは%flake8_on

チェックしたいスタイルガイドに応じて。

enter image description here

自動コンプライアンスチェックの実行をオフにするには:

%pycodestyle_offまたは%flake8_off

28
Mattijn

次のコマンドを使用して、ipythonノートブック用のpep8拡張機能をインストールします。

%install_ext https://raw.githubusercontent.com/SiggyF/notebooks/master/pep8_magic.py

詳細は 公式ドキュメント を参照してください。

その後、%%pep8特定のセルのpep8スタイルをチェックするセルマジック関数。

これは、pep8チェックを実行する必要があるすべてのセル内に配置する必要があることに注意してください。

この例 を参照してください。

13
Raghav RV

スクリプトの一部(下のリンク)を含めて、特定のPEP8修正が必要なコード行の詳細を確認できます。独立して実行することもできます。

スクリプトは、flake8に基づくpyファイルコードにPEP8コメントを含めます。これにより、スタイルの修正が必要な場所にすぐにジャンプできます。

ここで確認できます: https://github.com/Softerec/PEP8-commenter

0
user12474205