C'è un modo semplice per verificare che il codice del notebook iPython, mentre è in fase di scrittura, sia compatibile con PEP8?Verifica PEP8 nel codice del notebook iPython
risposta
installare l'estensione per PEP8 ipython notebook utilizzando il seguente comando:
%install_ext https://raw.githubusercontent.com/SiggyF/notebooks/master/pep8_magic.py
consultare the official docs per maggiori informazioni.
Dopo di che utilizzare la funzione magica cella %%pep8
per controllare la cella particolare per lo stile pep8.
Si noti che questo deve essere inserito in ogni cella per la quale è necessario applicare il controllo pep8.
Consultare this example.
Nel caso in cui questo aiuta nessuno, sto usando:
conttest "jupyter nbconvert notebook.ipynb --stdout --to script | flake8 - --ignore=W391"
conttest
repliche durante il salvataggio modifiche al notebookflake8 -
dice flake8 di prendere input da stdin--ignore=W391
- questo perché l'output dijupyter nbconvert
sembra avere sempre una "riga vuota alla fine del file", quindi non voglio che flake8 si lamenti di ciò.
Sto riscontrando un problema con celle di markdown (le cui lunghezze di linea possono essere legittimamente piuttosto lunghe, però): ignore markdown cells in `jupyter nbconvert` with `--to script`.
Assicurarsi di avere il modulo pycodestyle
per poter controllare il codice in base alla guida di stile. Poi abilitare la funzione magica utilizzando il modulo pycodestyle_magic
:
pip install pycodestyle
pip install pycodestyle_magic
- primo carico la magia in una cella Notebook Jupyter:
%load_ext pycodestyle_magic
- e quindi utilizzare la funzione nel vostro cella per verificare la conformità con
pycodestyle
%%pycodestyle
install_ext è stato deprecato e rimosso. Le estensioni ora devono essere pubblicate su PyPI e installate con pip. – Matt
pep8 è deprecato e le estensioni ora devono essere pubblicate su PyPi, vedere answer https://stackoverflow.com/a/47204361/2459096 o srcoll down – Mattijn