Ich möchte pylint als externes Tool in meinem gesamten Projektverzeichnis für ein Python-Projekt konfigurieren, an dem ich arbeite. Ich habe versucht, das Repository als Modul mit __init__.py
und ohne zu verwenden, und es funktioniert in keiner Weise.
Ich habe Schwierigkeiten, Pylint für die Ausführung mit PyCharm einzurichten. Ich weiß, dass ich es als externes Tool ausführen sollte, aber die Einstellungen verwirren mich.
Die maßgebliche Quelle in ihrer Dokumentation ist fehlerhaft, daher kann ich das auch nicht überprüfen.
quelle
pylint
in Ihrem Computer installiert wurde.Da ich kein funktionierendes, vorgefertigtes Setup gefunden habe, sind dies die Einstellungen, die ich in PyCharm CE 2018.1 unter macOS verwende:
1 -
pip install pylint
in Ihrem Projekt virtuell oder global2 - Fügen Sie ein neues externes Tool hinzu und konfigurieren Sie:
Program: pylint Arguments: "--msg-template='{abspath}:{line:5d},{column:2d}: {msg} ({symbol})'" --output-format=colorized "$FilePath$" Working directory: $ProjectFileDir$ Output filters: $FILE_PATH$:\s*$LINE$\,\s*$COLUMN$:
Beachten Sie die erforderlichen doppelten Anführungszeichen für die Nachrichtenvorlage und die Escapezeichen für die Ausgabefilter. Mit dem Ausgabefilter können Sie auf den Dateipfad klicken und den Speicherort im IDE-Quellcode-Editor öffnen.
Das einzige fehlende Merkmal wären die Ausgabefilter, um die Flusenbeschreibungen direkt in die Quellansicht zu zeichnen, wie dies beim eingebauten Linter der Fall ist. Derzeit gibt es jedoch keine solche Funktion.
quelle
Sie können dieses Pylint PyCharm-Plugin ausprobieren :
Bietet sowohl Echtzeit- als auch On-Demand-Scannen von Python-Dateien mit Pylint aus PyCharm / IDEA.
Sobald Sie es installiert haben, funktioniert die Echtzeitprüfung automatisch. Für die On-Demand-Option stehen Ihnen mehrere Optionen zur Verfügung, von der Überprüfung der aktuell geöffneten Datei bis zum Scannen des gesamten Projekts:
(Nur aus Gründen der Transparenz bin ich der Entwickler)
quelle
Bearbeiten: Ich verwende und empfehle jetzt das Pycharm-Plugin, das es nicht gab, als ich diese Antwort zum ersten Mal schrieb.
Ein Kollege hat mich auf GitHub auf pylint-pycharm hingewiesen . Es ist ein Wrapper um Pylint mit einer für PyCharm formatierten Ausgabe. So habe ich es eingerichtet:
Dies schafft
build/scripts-2.7/pylint-pycharm
Erstellen Sie dann in PyCharm ein neues externes Tool mit den folgenden Einstellungen:
Führen Sie es nun über Tools -> Externe Tools -> PyLintPyCharm aus. Jede Ausgabezeile wird mit der entsprechenden Position im Quellcode verlinkt.
quelle
Ein Hinweis zu den vorherigen Antworten. Ich habe nach einer Methode gesucht, um PyCharm auf die Ausgabesyntax aufmerksam zu machen, damit ich direkt zu den Speicherorten der Dateien springen kann. Das funktioniert ohne zusätzliche Tools.
Pylint kann mithilfe der
msg-template
Option in der Pylintrc-Datei oder der CLI-Option so konfiguriert werden, dass Nachrichten in einem bestimmten Format ausgegeben werden--msg-template
.Ich setze es auf:
msg-template='{abspath}:{line}:{column}: {msg_id} {msg}'
In den Einstellungen für externe Tools
Output filters:
kann das so eingestellt werden,$FILE_PATH$:$LINE$:$COLUMN$: .*
dass PyCharm Links anzeigt, um direkt zu den gemeldeten Speicherorten zu springen. Dies kann kombiniert werden,output-format=colorized
damit ich Folgendes erhalte: PyCharm erkennt die Spalte trotz Konfiguration nicht. Aber die Datei und die Zeile zu haben, reicht mir.quelle
msg-template
undOutput filters
aber die Spalte wurde nicht erkannt. Vielleicht stimmt etwas anderes nicht. Können Sie das Problem genau bestimmen? Ich arbeite mit PyCharm 2018.1.2.Installieren Sie zuerst Pylint mit Pip:
Sie müssen "Einstellungen> Extras> Externe Tools" öffnen und bei PyCharm die Taste "+" drücken.
Hier ist ein Beispiel mit guten Einstellungen.
quelle
pylint
in einer virtuellen Umgebung installiert. Ich habe PyCharm auf den Python-Interpreter meiner virtuellen Umgebung verwiesen, und es scheint gut zu funktionieren. Ich bin allerdings sehr neupylint
, also beziehen Sie sich vielleicht auf eine bestimmte Funktionalität, die mir nicht bekannt ist.Roberto Leinardi hat ein Pylint-Plugin für Pycharm erstellt, das wirklich funktioniert und sich gut in die IDE integriert:
Einfache Installation aus den Repositorys, vollständige Anweisungen unter: https://github.com/leinardi/pylint-pycharm
Ich habe bisher eine kurze, aber glückliche Erfahrung damit! Ein großes Lob an Roberto.
quelle
Dank der Informationen hier und der aktualisierten Dokumentation von PyCharm konnte ich dies zum Funktionieren bringen, um auch die virtuelle Umgebung für das Projekt zu verwenden (um sicherzustellen, dass alle Pakete in der virtuellen Umgebung bereitgestellt werden können und nicht global bereitgestellt werden müssen ).
Nehmen Sie, was lkraider früher bereitgestellt hat, aber mit geringfügigen Änderungen:
Stellen Sie sicher, dass Sie pylint in der virtuellen Umgebung installieren. Beachten Sie, dass Sie beim Erstellen der virtuellen Umgebung nicht "Globale Site-Pakete erben" ausgewählt haben. Wenn Sie dies tun, wird Pylint global und dies wird nicht funktionieren.
Neues externes Tool hinzufügen und konfigurieren. Dies unterscheidet sich geringfügig von dem, was lkraider zur Verfügung gestellt hat. Zum einen wollte ich, dass es eher wie eine normale Pylint-Ausgabe aussieht, daher ist meine Nachrichtenvorlage (und mein Ausgabefilter) etwas anders. Jeder für sich. Die zweite Änderung ist kritischer für die Ausführung von Pylint basierend auf der virtuellen Umgebung, dh dem Programmparameter, in dem ich $ PyInterpreterDirectory $ verwende.
Program: $PyInterpreterDirectory$/pylint Arguments: "--msg-template='{abspath}:{line:5d}:{column}: {msg_id}: {msg} ({symbol})'" --output-format=colorized "$FilePath$" Working directory: $ProjectFileDir$ Output filters: $FILE_PATH$:\s*$LINE$\:\s*$COLUMN$:
Externes Werkzeug für Pylint
quelle