web-dev-qa-db-fra.com

Vérification de PEP8 dans le code de bloc-notes iPython

Existe-t-il un moyen simple de vérifier que le code du bloc-notes iPython, lors de son écriture, est conforme à PEP8?

38
Seanny123

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-notes
  • flake8 - 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` .

12
DavidC

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
  • chargez d'abord la magie dans une cellule Jupyter Notebook:

%load_ext pycodestyle_magic

  • puis activez la magie pour effectuer la vérification de conformité pour chaque cellule en utilisant:

%pycodestyle_on ou %flake8_on

en fonction du guide de style que vous souhaitez vérifier.

enter image description here

Pour désactiver le cycle de vérification de conformité automatique:

%pycodestyle_off ou %flake8_off

28
Mattijn

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 .

13
Raghav RV

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

0
user12474205