Existe-t-il un moyen simple de vérifier que le code du bloc-notes iPython, lors de son écriture, est conforme à PEP8?
Au cas où cela aiderait quelqu'un, j'utilise:
conttest "jupyter nbconvert notebook.ipynb --stdout --to script | flake8 - --ignore=W391"
conttest
se réexécute lors de l'enregistrement des modifications dans le bloc-notesflake8 -
dit à flake8 de prendre les entrées de stdin--ignore=W391
- c'est parce que la sortie de jupyter nbconvert
semble toujours avoir une "ligne vide à la fin du fichier", donc je ne veux pas que flake8 s'en plaint.J'ai un problème avec les cellules de démarque (dont les longueurs de ligne peuvent légitimement être assez longues, cependant): ignorer les cellules de démarque dans `jupyter nbconvert` avec` --to script` .
Assurez-vous d'avoir le module pycodestyle
ou flake8
pour pouvoir comparer votre code aux guides de style. Activez ensuite la fonction magique en utilisant le pycodestyle_magic
module ( github repo ):
pip install flake8 pycodestyle_magic
%load_ext pycodestyle_magic
%pycodestyle_on
ou %flake8_on
en fonction du guide de style que vous souhaitez vérifier.
Pour désactiver le cycle de vérification de conformité automatique:
%pycodestyle_off
ou %flake8_off
Installez l'extension pep8 pour le bloc-notes ipython à l'aide de la commande suivante:
%install_ext https://raw.githubusercontent.com/SiggyF/notebooks/master/pep8_magic.py
Reportez-vous les documents officiels pour plus d'informations.
Après cela, utilisez le %%pep8
Fonction de magie cellulaire pour vérifier votre cellule particulière pour le style pep8.
Notez que cela doit être placé dans chaque cellule pour laquelle la vérification pep8 doit être appliquée.
Reportez-vous cet exemple .
Vous pouvez inclure des parties de mon script (lien ci-dessous) pour voir les détails des lignes de code qui nécessitent des corrections PEP8 spécifiques. Vous pouvez également l'exécuter indépendamment.
Le script inclut des commentaires PEP8 dans le code de fichier py basé sur flake8. Cela rend très facile de sauter immédiatement à l'endroit où la correction du style est nécessaire.
Vous pouvez le vérifier ici: https://github.com/Softerec/PEP8-commenter