Zusammenfassung zum Festlegen der Hauptfussel (pep8, pylint, flake8) von Python

Eine kleine Notiz schreiben.

Wenn Sie Einstellungen vornehmen möchten, z. B. "Einige Warnungen vom Prüfziel ausschließen" Organisieren Sie das Schreiben und Platzieren der Einstellungsdatei.

Referenz: [Python] Erstellen Sie pep8- und pylint-Konfigurationsdateien, um einige Warnungen auszublenden --dackdives Blog Die Informationen von flake8 werden dem obigen Blog-Artikel hinzugefügt.

einpacken

In beiden Fällen sollte die Konfigurationsdatei im Verzeichnis ~ / .config / erstellt werden. (Es gibt andere Möglichkeiten) Der Dateiname lautet

Und achten Sie nur auf Pylint. Das Format der Einstellungsdatei unterscheidet sich auch nur für Pylint.

pep8

Speicherort der Konfigurationsdatei

http://pep8.readthedocs.org/en/latest/intro.html#configuration gemäß,

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

Wenn Sie also einen Mac haben, für den "XDG_CONFIG_HOME" nicht festgelegt ist

~/.config/pep8

Sieht gut aus.

So schreiben Sie eine Einstellungsdatei

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

~/.config/pep8


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

Schreiben Sie nach ignore = den Warncode, den Sie ignorieren möchten, getrennt durch Kommas.

Überprüfen Sie den Code hier. http://pep8.readthedocs.org/en/latest/intro.html#error-codes

pylint

Speicherort der Konfigurationsdatei

https://pylint.readthedocs.io/en/latest/user_guide/run.html#command-line-options Gemäß der Pylint-Konfigurationsdatei wird die erste gefundene Datei durch Suchen in der folgenden Reihenfolge gelesen.

  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

Grob ins Japanische übersetzt

  1. pylintrc im aktuellen Arbeitsverzeichnis
  2. .pylintrc im aktuellen Arbeitsverzeichnis
  3. Wenn das aktuelle Arbeitsverzeichnis das Verzeichnis der Python-Module ist (wenn "__init __. Py" vorhanden ist), gehen Sie die Hierarchie nach oben, bis Sie "pylintrc" finden. Auf diese Weise können Sie "pylintrc" für jedes Modul festlegen (und für Module ohne Dateien können Sie "pylintrc" im Stammverzeichnis Ihres Projekts verwenden).
  4. Datei, die durch die Umgebungsvariable PYLINTRC angegeben wird
  5. Wenn es ein anderes Ausgangsverzeichnis als / root gibt:
  6. .pylintrc direkt unter dem Home-Verzeichnis 2. $HOME/.config/pylintrc
  7. /etc/pylintrc

Was für ein Ort wie. Im Arbeitsverzeichnis wird wahrscheinlich der Befehl pylint ausgeführt.

Ich mag es, wie pep8 in das Verzeichnis ~ / .config zu stellen

~/.config/pylintrc

Es wurde gemacht.

So schreiben Sie eine Einstellungsdatei

Wenn Sie pylint mit der Option "--generate-rcfile" ausführen, wird die Vorlage der Einstellungsdatei ausgegeben. Speichern Sie sie daher in einer geeigneten Datei.

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

In der generierten Datei "pylintrc" befindet sich eine Variable namens "disable =". Schreiben Sie daher den Warncode, den Sie dort ignorieren möchten.

~/.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

Den Code finden Sie hier. http://pylint-messages.wikidot.com/all-codes

Anstelle des Codes können Sie anscheinend auch einen Namen mit dem Namen symbolischer Name angeben, der mehr als der Code erraten werden kann. (Die oben genannten sind "Okt-Methode" und "Ext-Methode genannt") http://docs.pylint.org/faq.html#do-i-have-to-remember-all-these-numbers

Der symbolische Name kann von hier aus anhand des Codes ermittelt werden. http://docs.pylint.org/features.html#

Solange ich es ausprobiert habe, scheint es kein Problem zu geben, den Code (oder den symbolischen Namen) durch eine Unterbrechung zu trennen.

flake8

Speicherort der Konfigurationsdatei

http://flake8.readthedocs.org/en/latest/config.html Laut Nicht-Windows

~/.config/flake8

ist. (Für Windows ~ / .flake8)

Wenn es für jedes Projekt eine Datei mit dem Namen "tox.ini" oder "setup.cfg" gibt Es scheint, dass die dort beschriebenen Einstellungen auch automatisch geladen werden. (Die Schreibmethode ist dieselbe wie bei ↓)

So schreiben Sie eine Einstellungsdatei

Auch laut http://flake8.readthedocs.org/en/latest/config.html

~/.config/flake8


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

Und so weiter ist es OK im gleichen Format wie pep8.

Überprüfen Sie den Code hier. F *** -Serie: http://flake8.readthedocs.org/en/latest/warnings.html Serie "E ***", "W ***" (pep8): http://pep8.readthedocs.org/en/latest/intro.html#error-codes

Recommended Posts

Zusammenfassung zum Festlegen der Hauptfussel (pep8, pylint, flake8) von Python
[Python2.7] Zusammenfassung der Verwendung von unittest
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Zusammenfassung zum Importieren von Dateien in Python 3
Zusammenfassung der Verwendung von MNIST mit Python
So richten Sie eine Python-Umgebung mit pyenv ein
[Python] Zusammenfassung der Verwendung von Split- und Join-Funktionen
Zusammenfassung der Verwendung von pyenv-virtualenv
So beschleunigen Sie Python-Berechnungen
Zusammenfassung der Verwendung von csvkit
So richten Sie die Entwicklungsumgebung von ev3dev ein [Windows-Version]
Wie man die schöne Suppeninstanziierung beschleunigt
So richten Sie SVM mit Optuna ein
Zusammenfassung der Verfahren bis zur PyPI-Registrierung
Zusammenfassung des Schreibens von AWS Lambda
[Frage] Wie verwende ich plot_surface von Python?
[Python] Verwendung von zwei Arten von type ()
Zusammenfassung zum Lesen numerischer Daten mit Python [CSV, NetCDF, Fortran Binary]
So richten Sie eine zufällige Gesamtstruktur mit Optuna ein
So legen Sie Attribute mit Mock of Python fest
So richten Sie eine zufällige Gesamtstruktur mit Optuna ein
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
So richten Sie einen lokalen Entwicklungsserver ein
[Python] Zusammenfassung der Funktionen eval / exec + Schreiben einer Zeichenfolge mit Zeilenumbrüchen
So richten Sie die Authentifizierung mit öffentlichem Schlüssel mit ssh ein
Zusammenfassung der Tools, die zum Analysieren von Daten in Python benötigt werden
So ermitteln Sie die Anzahl der Stellen in Python
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
[Blender] Zusammenfassung der Installation / Aktualisierung / Deinstallation von Add-Ons
Verwendung von Python Kivy ~ ~ Grundlagen der Kv-Sprache ~
[Python] So schreiben Sie eine Dokumentzeichenfolge, die PEP8 entspricht
[Blender] So legen Sie die Auswahlelemente von EnumProperty dynamisch fest
Überprüfung des Atcoders ABC158 bis Frage E (Python)
So richten Sie die Cython-Umgebung ein und kompilieren sie
Zusammenfassung, wie der Status mit mehreren Funktionen geteilt wird
So installieren Sie Python
So installieren Sie Python
Zusammenfassung der Python-Argumente
So richten Sie einen einfachen SMTP-Server ein, der lokal in Python getestet werden kann
So richten Sie Ubuntu für Windows Subsystem für Linux 2 (WSL2) ein
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
Offline-Echtzeit zum Schreiben eines E14 Python-Implementierungsbeispiels
Rückblick auf den AtCoder Beginner Contest 159 bis Frage E (Python)
Rückblick auf den AtCoder Beginner Contest 163 bis Frage E (Python)
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
Rückblick auf den AtCoder Beginner Contest 164 bis Frage E (Python)
Herstellen einer Verbindung zu verschiedenen DBs über Python (PEP 249) und SQL Alchemy
Rückblick auf den AtCoder Beginner Contest 162 bis Frage E (Python)
[Linux] [C / C ++] Zusammenfassung, wie man pid, ppid, tid bekommt
[Python Kivy] So erstellen Sie ein einfaches Popup-Fenster
Rückblick auf den AtCoder Beginner Contest 154 bis Frage E (Python)
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Zusammenfassung zum Schreiben von in gRPC verwendeten .proto-Dateien
Rückblick auf den AtCoder Beginner Contest 160 bis Frage E (Python)
Rückblick auf den AtCoder Beginner Contest 157 bis Frage E (Python)
Rückblick auf den AtCoder Beginner Contest 161 bis Frage E (Python)
Rückblick auf den AtCoder Beginner Contest 155 bis Frage E (Python)
Rückblick auf den AtCoder Beginner Contest 156 bis Frage E (Python)