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
12
A
Antwort
3
Obwohl nicht befehlszeilenbasiert, PyCharm claims to have Cython support. Leider ist es nur auf der kostenpflichtigen Version "Professional Edition" verfügbar.
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.
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
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. –