2008-12-30 15 views
89

Ein wenig Hintergrund:Wie pep8.py in Eclipse zu integrieren?

  • PEP 8 ist der Style Guide für Python-Code. Es enthält die Konventionen, denen alle Python-Programmierer folgen sollten.
  • pep8.py ist ein (sehr nützlich) Skript, das den Code Formatierung eines bestimmten Python-Skript überprüft, nach PEP 8.
  • Eclipse ist eine große IDE. Mit der Erweiterung Pydev es, die verwendet werden können, um Python zu entwickeln

Ich betreiben pep8.py manuell, wenn ich scripting bin, aber mit größeren Projekten ziehe ich Eclipse zu verwenden. Es wäre sehr nützlich, pep8.py in Eclipse/Pydev zu integrieren, damit es automatisch in allen Dateien im Projekt ausgeführt werden kann und auf die Zeilen verweist, die die Warnungen enthalten. Vielleicht gibt es einen offensichtlichen Weg, es zu tun, aber ich habe es noch nicht gefunden.

Frage ist: Wie pep8.py in Eclipse zu integrieren?

+2

es gibt jetzt eine Standard-PEP8 Integration automatisch formatiert werden. Siehe: http://stackoverflow.com/questions/399956/how-to-integrate-pep8-py-in-eclipse/8532188#8532188 –

+1

Da sich die Situation geändert hat, seit Sie [Dmitry Kochkin] (http akzeptiert: // stackoverflow.com/a/2296249/42473)'s Antwort konnte ich vorschlagen, dass Sie auf Ihre Antwort akzeptiert ändern entweder [Fabio Zadrozny] (http://stackoverflow.com/a/8532188/42473) 's Antwort oder [angelo .bixly] (http://stackoverflow.com/a/8830316/42473) Antwort? Dies wird zukünftigen Besuchern helfen, die wie ich zu dieser Frage von Google gekommen sind und uns erlauben, die aktuellsten Informationen zuerst zu finden - ansonsten kann es lange dauern, bis diese Antworten an die Spitze gelangen. –

Antwort

88

Ab PyDev 2.3.0 ist pep8 in PyDev standardmäßig integriert, sogar mit einer Standardversion davon.

öffnen Fenster> Einstellungen

Es muss in PyDev aktiviert sein> Editor> Code-Analyse> pep8.py

Fehler/Warnungen sollten (wie andere Dinge in der regulären Code-Analyse) als Marker angezeigt.

Falls eine Datei nicht analysiert wird, siehe https://stackoverflow.com/a/31001619/832230.

+6

Es zeigt standardmäßig viele Warnungen. Wenn ich es jedoch von der Befehlszeile aus starte, zeigt es noch mehr. Wie kann ich es davon überzeugen, alle Warnungen in Eclipse anzuzeigen, wie es angezeigt wird, wenn es über die Befehlszeile ausgeführt wird? Optionen sind gleich. Auch das Umleiten der pep8-Ausgabe an die Konsole führt zu nichts. –

+2

PyDev verwendet derzeit eine ältere Version, da es seine interne Jython-Version (die derzeit bei 2.2.1 ist) verwendet. Es gibt Pläne, es entweder extern ausführen zu lassen, um die Ergebnisse zu erhalten oder das interne Jython zu aktualisieren, um neuere Versionen von pep8.py zu unterstützen. –

+0

Offensichtlich funktioniert dies nicht mit PyDev 4.2.0, keine Markierungen werden jemals angezeigt, entweder im Modus Warnung oder Fehler. –

6

Das scheint noch nicht vollständig in Pydev integriert zu sein.

Wie in this post vorgeschlagen,

[it] den Code innerhalb pydev Wechsel erfordern würde - eine flexible Option Einstellungen hinzugefügt wird, würde der Benutzer wählen zu lassen, welche Muster er für die Erstellung von Hyperlinks passen will (und sagen, welche Gruppe in der Übereinstimmung ist die Zeile und welche ist die Datei) ...

Oder Sie können es versuchen, hart codierte Wiedergabe mit: org.python.pydev.debug.ui.PythonConsoleLineTracker (sollte ziemlich einfach zu begreifen).

A request does exist nur für diese, aber es scheint immer noch offen 1 Jahr nach seiner Gründung zu sein ...

25

Ich weiß nicht, wie es für die ganze Projekt zu integrieren, aber ich verwendet habe es als ein externes Werkzeug, um eine einzelne Datei zu analysieren.

Beachten Sie, dass das pycodestyle-Paket der offizielle Ersatz für und die neuere Version des pep8-Pakets ist. Um es zu installieren, führen Sie:

$ sudo pip install --upgrade pycodestyle 

nächstes in Eclipse:

  1. Wählen Lauf Externe Tools-Externe Tools Konfigurationen ...
  2. Select Programm Wurzelknoten.
  3. Drücken Sie Neue Startkonfiguration Schaltfläche.
  4. Geben Sie Name für Ihre Startkonfiguration ein. Ich benutze pycodestyle.
  5. Fill folgende Felder:

    Lage - ${system_path:pycodestyle}

    Arbeitsverzeichnis - ${container_loc}

    Argumente-"${resource_name}" (Dies verwendet die derzeit aktive Datei.)

Gehen Sie zu Common Registerkarte und bestätigen Sie, dass das Kontrollkästchen Konsole zuweisen aktiviert ist.

Ein Vorteil dieses Ansatzes ist, dass Sie eine sehr aktuelle Version des Pakets verwenden können und nicht auf die alte Version beschränkt sind, die in PyDev enthalten ist. Und wenn Sie neugierig sind, pylint in ähnlicher Weise einzurichten, siehe this answer.

+1

Wenn Sie Fehler _Variable Referenzen leer Auswahl, wenn es darum: $ {container_loc} _ vergessen Sie nicht Ihre Quellordner in PYTHONPATH (es vielleicht nicht dort, wenn Sie ein vorhandenes Projekt in Arbeitsbereich importieren) hinzuzufügen. ** Klicken Sie mit der rechten Maustaste auf Projektname> Eigenschaften> PyDev - PYTHONPATH> Registerkarte Quellordner ** und klicken Sie auf ** Quellordner hinzufügen **. Sollte wie ein Zauber wirken. – berni

+2

Es gibt jetzt eine Standard-pep8-Integration. Siehe: http://stackoverflow.com/a/8532188/110451 –

+1

Diese für PEP8 KONTROLLE nicht so nützlich ist, wie meist in eclispe verfügbar ist - aber ich fand es toll für autopep8! Danke –

12
  1. Öffnen Sie Ihre Eclipse-
  2. Zum Hilfe und wählen Sie Neue Software installieren
  3. Klicken Sie auf die Schaltfläche Hinzufügen und ein „Add Repository“ Dialogfeld erscheint
  4. Sie einen beliebigen Namen verwenden, können Sie es mögen. (Ich habe PyDev verwendet)
  5. Geben Sie als Speicherort "http://pydev.org/updates" ein
  6. Klicken Sie auf OK.
  7. Sie befinden sich gerade im Installationsvorgang. Warte nur darauf, dass es fertig ist.
  8. Schließen Sie nach der Installation Eclipse und öffnen Sie es erneut.
  9. Nun, da PyDev in Eclipse installiert ist, gehen> Einstellungen Window-
  10. wählen PyDev-> Editor-> Code-Analyse
  11. Go Registerkarte pep8.py
  12. die für Warnoptionsfeld auswählen und klicken Sie auf OK.

Das ist es. Ihre Eclipse-IDE ist jetzt in PEP8 integriert. Um pep8.py automatisch auszuführen, klicken Sie mit der rechten Maustaste auf Ihren Projekteditor. Wählen Sie PyDev und klicken Sie auf "Code-Analyse".Auf Ihrem Tab "Probleme" in Ihrem Arbeitsbereich sehen Sie Warnungen, die auf die Zeile zeigen, die Sie in der PEP8 verletzt haben (wenn Sie verletzt haben).

7

CODE ANALYSE:

in Eclipse (PyDev), wenn Sie wollen Codeanalyse mit PEP8 Stil dann

Zum: Windows -> Einstellungen -> PyDev -> Editor -> Code-Analyse ->pep8.py Registerkarte und wählen Sie Warnung klicken Nehmen und OK-Taste.

In Ihrem Python-Code, wenn Sie bestätigen PEP8 Stil Codierung es Sie

AUTO CODE FORMATIERUNG Warnung geben:

in Eclipse (PyDev), wenn Sie wollen Auto Format Python Code mit Pep8 Stil dann

Gehe zu: Windows -> Einstellungen -> PyDev -> Editor -> Code Style -> Code Formatter -> klicken Sie auf das Kontrollkästchen (Verwenden Sie Autope p8.py für die Konsolenformatierung?) Klicken Sie auf Übernehmen und OK.

Wenn Sie Länge der Linie erhöhen möchten (PEP8 Standard ist 79) unter Verwendung autopep8.py Sie Parametertyp --max-line-length=150 einstellen können, wenn Sie maximale Länge bis 150

Wenn drücken Auto-Format Verknüpfung (eingestellt Strg + Shift + f) es wird Ihr python-Code wie PEP8 Stil