繁体   English   中英

检测 Cython 代码的选项

[英]Options for linting Cython code

我有一个 Cython 模块,我想对PEP8样式进行 lint,但是pylint cdef语法上的 pylint 语法错误。 有人对如何维护 Cython 代码的 Python 编码标准有什么建议吗?

虽然不是基于命令行的,但PyCharm 声称拥有 Cython 支持 不幸的是,它仅适用于付费版“专业版”。

我将 Sublime Text 编辑器与 SublimeLinter Flake8 包一起使用

我的 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 官方文档中的更多信息。

扩展@j-mulet 的回答,一个有用的例子是 Pandas 保留自己的cython.cfg文件作为 Cython 特定的规则来搜索 .pyx 文件。

[flake8]
filename = *.pyx,*.pxd
select = E501,E302,E203,E111, ...

然后你可以打电话告诉 flake8 这个住在哪里:

$ flake8 -config <path-to-cython.cfg>

截至 2022 年,您可以使用cython-lint

安装

$ pip install cython-lint

或者用作预提交挂钩:

-   repo: https://github.com/MarcoGorelli/cython-lint
    rev: v0.10.1
    hooks:
    -   id: cython-lint

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM