我有一个Cython模块,我希望lint PEP8样式,但语法上有pylint
语法错误cdef
语法。有没有人建议如何维护Cython代码的Python编码标准?
答案 0 :(得分:3)
虽然不是基于命令行的,PyCharm claims to have Cython support。不幸的是,它仅适用于付费版“专业版”。
答案 1 :(得分:1)
我将Sublime Text编辑器与SublimeLinter Flake8 package一起使用。
My Flake8配置为:
"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" 键用于定义正则表达式,忽略linter报告的错误。
在这种情况下,我用它来忽略 .pyx 文件中的语法错误。您可以定义新的表达式以满足您的需求。
很抱歉,因为它不是Cython linter,它只是使Python linter有用的技巧。
sublimelinter official docs中的更多信息。
答案 2 :(得分:0)
扩展@j-mulet 的回答,一个有用的例子是 Pandas 保留自己的 cython.cfg 文件作为 Cython 特定的规则来搜索 .pyx 文件。
[flake8]
filename = *.pyx,*.pxd
select = E501,E302,E203,E111, ...
然后你可以打电话告诉 flake8 它住在哪里:
$ flake8 -config <path-to-cython.cfg>