您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pylint 1.4在所有C扩展上报告E1101(无成员)

pylint 1.4在所有C扩展上报告E1101(无成员)

发布问题后不久,我找到了答案。实际上,更改是出于安全措施的目的。Pylint导入模块以有效地识别有效的方法属性。决定导入不属于python stdlib的c扩展会带来安全风险,并且可能会引入恶意代码

这是在Astroid 1.3.1版本 https://mail.python.org/pipermail/code- quality/2014-November/000394.html中完成的

只有来自受信任来源(标准库)的C扩展被加载到正在检查的Python流程中,才能根据实时模块??构建AST。

如果要在导入非stdlib c扩展名的项目上使用pylint,则有四种解决方案。

1)使用--unsafe-load-any- extension=y命令行选项禁用安全性。该功能未记录,被归类为隐藏选项(https://mail.python.org/pipermail/code- quality/2014-November/000439.html)。

2)使用pylint.rc设置禁用安全性unsafe-load-any- extensions=yes。建议在选项1上使用它,并在认的pylint.rc文件(使用创建--generate-rcfile)中包含完整的文档。

3)pylint.rc使用extension-pkg-whitelist=选项在文件中具体列出您相信由pylint加载的程序包或模块名称

4)创建一个插件来操纵AST(我不知道如何实现此功能-但在pylint邮件列表中定期进行讨论)。

我们选择了选项3。我们在项目pylint.rc文件添加了以下行:

extension-pkg-whitelist=lxml
其他 2022/1/1 18:27:37 有303人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶