Résumé de la façon de définir la charpie principale (pep8, pylint, flake8) de Python

Une petite note d'écriture.

Lorsque vous souhaitez définir des paramètres tels que "Exclure certains avertissements de la cible de vérification" dans chacun des Organisez comment écrire et placer le fichier de paramètres.

Référence: [Python] Créez des fichiers de configuration pep8 et pylint pour masquer certains avertissements - blog de dackdive Les informations de flake8 sont ajoutées à l'article de blog ci-dessus.

emballer

Dans les deux cas, le fichier de configuration doit être créé sous le répertoire ~ / .config /. (Il existe d'autres options) Le nom du fichier est

Et faites attention uniquement au pylint. Le format du fichier de paramètres est également différent uniquement pour pylint.

pep8

Emplacement du fichier de configuration

http://pep8.readthedocs.org/en/latest/intro.html#configuration selon,

If on Windows:  ~\.pep8 Otherwise, if the XDG_CONFIG_HOME environment variable is defined:  XDG_CONFIG_HOME/pep8 Else if XDG_CONFIG_HOME is not defined:  ~/.config/pep8

Donc, si vous avez un Mac qui n'a pas défini XDG_CONFIG_HOME

~/.config/pep8

Cela semble bon.

Comment écrire un fichier de paramètres

Également à http://pep8.readthedocs.org/en/latest/intro.html#configuration,

~/.config/pep8


[pep8]
ignore = E226,E302,E41
max-line-length = 160

Après ʻignore = `, écrivez le code d'avertissement que vous voulez ignorer, séparé par des virgules.

Vérifiez le code ici. http://pep8.readthedocs.org/en/latest/intro.html#error-codes

pylint

Emplacement du fichier de configuration

https://pylint.readthedocs.io/en/latest/user_guide/run.html#command-line-options Selon le fichier de configuration de pylint, le premier trouvé est lu en recherchant dans l'ordre suivant.

  1. pylintrc in the current working directory
  1. .pylintrc in the current working directory
  2. If the current working directory is in a Python module, Pylint searches up the hierarchy of Python modules until it finds a pylintrc file. This allows you to specify coding standards on a module-by-module basis. Of course, a directory is judged to be a Python module if it contains an __init__.py file.
  3. The file named by environment variable PYLINTRC
  4. if you have a home directory which isn’t /root:
    1. .pylintrc in your home directory
    2. .config/pylintrc in your home directory
  5. /etc/pylintrc

À peu près traduit en japonais

  1. pylintrc dans le répertoire de travail actuel
  2. .pylintrc dans le répertoire de travail actuel
  3. Si le répertoire de travail actuel est le répertoire du module Python (si le répertoire où __init __. Py existe), remontez la hiérarchie jusqu'à ce que vous trouviez pylintrc. Cela vous permet de définir pylintrc sur une base par module (et pour les modules sans fichiers, vous pouvez utiliser pylintrc à la racine de votre projet).
  4. Fichier spécifié par la variable d'environnement PYLINTRC
  5. S'il existe un répertoire personnel autre que / root:
  6. .pylintrc directement sous le répertoire personnel 2. $HOME/.config/pylintrc
  7. /etc/pylintrc

Quel endroit, comme. Le répertoire de travail sera probablement celui où vous exécutez la commande pylint.

J'aime le mettre dans le répertoire ~ / .config comme pep8

~/.config/pylintrc

C'était fabriqué.

Comment écrire un fichier de paramètres

Si vous exécutez pylint avec l'option --generate-rcfile, le modèle du fichier de configuration sera affiché, alors enregistrez-le dans un fichier approprié.

$ pylint --generate-rcfile > ~/.config/pylintrc

Dans le fichier pylintrc généré, il y a une variable appelée disable =, alors écrivez le code d'avertissement que vous voulez ignorer.

~/.config/pylintrc


# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=
  oct-method,
  ext-method-called,
  C0111

Vous pouvez trouver le code ici. http://pylint-messages.wikidot.com/all-codes

De plus, au lieu du code, il semble que vous puissiez le spécifier avec un nom appelé nom symbolique, qui peut être deviné plus que le code. (Ce qui précède sont ʻoct-method et ʻext-method-called) http://docs.pylint.org/faq.html#do-i-have-to-remember-all-these-numbers

Le nom symbolique peut être trouvé à partir d'ici en fonction du code. http://docs.pylint.org/features.html#

Aussi, pour autant que je l'ai essayé, le code (ou le nom symbolique) semble bien se séparer avec un saut de ligne.

flake8

Emplacement du fichier de configuration

http://flake8.readthedocs.org/en/latest/config.html Selon non-Windows

~/.config/flake8

est. (Pour Windows ~ / .flake8)

De plus, s'il existe un fichier appelé tox.ini ou setup.cfg pour chaque projet Il semble que les paramètres décrits ici soient également chargés automatiquement. (La méthode d'écriture est la même que ↓)

Comment écrire un fichier de paramètres

Également selon http://flake8.readthedocs.org/en/latest/config.html

~/.config/flake8


[flake8]
ignore = E226,E302,E41
max-line-length = 160
exclude = tests/*
max-complexity = 10

Et ainsi de suite, c'est OK dans le même format que pep8.

Vérifiez le code ici. Série F ***: http://flake8.readthedocs.org/en/latest/warnings.html Série ʻE *** , W *** `(pep8): http://pep8.readthedocs.org/en/latest/intro.html#error-codes

Recommended Posts

Résumé de la façon de définir la charpie principale (pep8, pylint, flake8) de Python
[Python2.7] Résumé de l'utilisation d'unittest
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Résumé de la façon d'importer des fichiers dans Python 3
Résumé de l'utilisation de MNIST avec Python
Comment configurer un environnement Python à l'aide de pyenv
[Python] Résumé de l'utilisation des fonctions de fractionnement et de jointure
Résumé de l'utilisation de pyenv-virtualenv
Comment accélérer les calculs Python
Résumé de l'utilisation de csvkit
Comment configurer l'environnement de développement d'ev3dev [version Windows]
Comment accélérer la belle instanciation de soupe
Comment configurer SVM à l'aide d'Optuna
Résumé des procédures jusqu'à l'enregistrement PyPI
Résumé de l'écriture d'AWS Lambda
[Question] Comment utiliser plot_surface de python
[Python] Comment utiliser deux types de type ()
Résumé de la lecture des données numériques avec python [CSV, NetCDF, Fortran binary]
Comment configurer une forêt aléatoire à l'aide d'Optuna
Comment spécifier des attributs avec Mock of Python
Comment configurer une forêt aléatoire à l'aide d'Optuna
Comment obtenir des éléments de type dictionnaire de Python 2.7
Comment configurer un serveur de développement local
[Python] Résumé des fonctions eval / exec + Comment écrire une chaîne de caractères avec des sauts de ligne
Comment configurer l'authentification par clé publique avec SSH
Résumé des outils nécessaires pour analyser les données en Python
Comment obtenir le nombre de chiffres en Python
J'ai essayé de résumer comment utiliser matplotlib de python
[Blender] Résumé de la procédure d'installation / de mise à jour / de désinstallation des modules complémentaires
Comment utiliser Python Kivy ① ~ Bases du langage Kv ~
[Python] Comment écrire une docstring conforme à PEP8
[Blender] Comment définir dynamiquement les sélections EnumProperty
Examen de atcoder ABC158, jusqu'à la question E (Python)
Comment configurer et compiler l'environnement Cython
Résumé de la façon de partager l'état avec plusieurs fonctions
Comment installer Python
Comment installer python
Résumé des arguments Python
Comment configurer un serveur SMTP simple qui peut être testé localement en Python
Comment configurer Ubuntu pour le sous-système Windows pour Linux 2 (WSL2)
[Python] Comment créer une liste de chaînes de caractères caractère par caractère
Comment écrire un exemple d'implémentation E14 Python en temps réel hors ligne
Examen du concours AtCoder pour débutants 159, jusqu'à la question E (Python)
Examen du concours AtCoder Beginner Contest 163, jusqu'à la question E (Python)
Comment mélanger une partie de la liste Python (au hasard.shuffle)
Examen du concours AtCoder Beginner Contest 164, jusqu'à la question E (Python)
Comment se connecter à diverses bases de données à partir de Python (PEP 249) et SQL Alchemy
Examen du concours AtCoder Beginner Contest 162, jusqu'à la question E (Python)
[Linux] [C / C ++] Résumé de la façon d'obtenir pid, ppid, tid
[Python Kivy] Comment créer une simple fenêtre pop-up
Examen du concours AtCoder Beginner Contest 154, jusqu'à la question E (Python)
Comment développer dans un environnement virtuel Python [Memo]
Comparaison de l'utilisation des fonctions d'ordre supérieur dans Python 2 et 3
Comment obtenir une liste d'exceptions intégrées pour python
Résumé de l'écriture des fichiers .proto utilisés dans gRPC
Examen de AtCoder Beginner Contest 160, jusqu'à la question E (Python)
Examen du concours AtCoder Beginner Contest 157, jusqu'à la question E (Python)
Examen du concours AtCoder pour débutants 161, jusqu'à la question E (Python)
Examen du concours AtCoder Beginner Contest 155, jusqu'à la question E (Python)
Examen du concours AtCoder Beginner Contest 156, jusqu'à la question E (Python)