linting Cython代码的选项

时间:2014-08-27 19:35:57

标签: python cython pylint

我有一个Cython模块,我希望lint PEP8样式,但语法上有pylint语法错误cdef语法。有没有人建议如何维护Cython代码的Python编码标准?

3 个答案:

答案 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>