2014-08-27 6 views
12

Ich habe ein Cython-Modul, das ich möchte PEP8 Stil, jedoch pylint Syntaxfehler auf Cython cdef Syntax. Hat jemand einen Vorschlag, wie Python-Codierungsstandards für Cython-Code beibehalten werden?Optionen für Linting Cython-Code

+2

Ich habe nicht von einem Werkzeug gehört, das dies tun kann - Obwohl die Cython-Community dankbar sein könnte, wenn Sie es selbst geschafft haben ;-) – mgilson

+0

Ich denke, Sie sollten auf "Cython" piggy-back Der Compiler erkennt, welche Codeblöcke C sind und welche Python sind. Sobald das erledigt ist, könnten Sie wahrscheinlich den Linter hacken und/oder Python-Blöcke auf syntaktisch äquivalenten Python-Code abbilden, der mit vorhandenen Werkzeugen gelöscht werden kann. –

Antwort

1

Ich benutze Sublime Text-Editor mit SublimeLinter Flake8 package.

Mein Flake8 config:

"flake8": { 
      "@disable": false, 
      "args": [ 
       "--doctests" 
      ], 
      "builtins": "", 
      "excludes": [], 
      "ignore": "", 
      "ignore_match": { 
       "pyx": [ 
        "SyntaxError" 
       ] 
      }, 
      "jobs": "1", 
      "max-complexity": 7, 
      "max-line-length": null, 
      "select": "", 
      "show-code": false 
     }, 

"ignore_match" Schlüssel verwendet werden regulären Ausdrücke zu definieren, ignorieren einige Fehler, die von einem Linter berichtet.

In diesem Fall habe ich es verwendet, Syntaxfehler in .pyx Dateien zu ignorieren. Sie können neue Ausdrücke definieren, um Ihre Anforderungen zu erfüllen.

Sorry, weil es kein Cython-Linter ist, es ist nur ein Trick, um Python Linter nützlich zu machen.

Weitere Informationen in sublimelinter official docs.