如何解决Mypy- 仅针对指定文件生成报告
我正在查看文档 here:
有没有办法在制作报告时忽略某些文件?我看到了一些我不想报告的文件,我想知道我是否可以进行运行时配置或其他东西来忽略它们。
解决方法
是的。
您可以忽略整个包(参见此 question 和相关的 Github issue)。
在此 GitHub issue 中讨论了仅忽略文件,它推荐了其他方法来实现相同的结果(函数的 @no_type_check
装饰器、检查 Python 版本、自定义 mypy 调用脚本等)和已作为此 other issue 的副本关闭,该 PEP 484 恰好在 13 天前 (2021-06-10) 被 Guido 关闭,因为“它似乎并不那么重要”,尽管 GitHub issue 声明:
A # 类型:忽略文件顶部单独一行的注释,在任何文档字符串、导入或其他可执行代码之前,消除文件中的所有错误。
在另一个相关的 --exclude 中,有人提到自版本 0.810
(2021-02-10) 起就有一个命令选项:commit (cf https://stackoverflow.com/a/4844073/2528471)
匹配文件名、目录名和路径的正则表达式,mypy 在递归发现要检查的文件时应忽略这些。在所有平台上使用正斜杠。
这是我的设置:
# file: ok.py
a: int = 4
# file: bad.py
a: int = "definitively not an integer"
-
使用 MyPy v
0.800
:$ mypy . --txt-report report0800; cat report0800/index.txt bad.py:2: error: Incompatible types in assignment (expression has type "str",variable has type "int") Generated TXT report (via XSLT): /home/stack_overflow/PyCharmProjects/68071098/report0800/index.txt Found 1 error in 1 file (checked 2 source files) Mypy Type Check Coverage Summary ================================ Script: index +-----+-------------------+-------+ | Module | Imprecision | Lines | +-----+-------------------+-------+ | bad | 0.00% imprecise | 2 LOC | | ok | 0.00% imprecise | 2 LOC | +-----+-------------------+-------+ | Total | 0.00% imprecise | 4 LOC | +-----+-------------------+-------+
-
使用 MyPy v
0.812
:$ mypy . --txt-report report0812 --exclude 'bad.py'; cat report0812/index.txt Generated TXT report (via XSLT): /home/stack_overflow/PyCharmProjects/68071098/report0812/index.txt Success: no issues found in 1 source file Mypy Type Check Coverage Summary ================================ Script: index +----+-------------------+-------+ | Module | Imprecision | Lines | +----+-------------------+-------+ | ok | 0.00% imprecise | 2 LOC | +----+-------------------+-------+ | Total | 0.00% imprecise | 2 LOC | +----+-------------------+-------+
我尝试了一个真正的项目,正则表达式的行为似乎很挑剔(或者我可能不太了解文档),但它仍然有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。