如果我想禁用 mypy 中的多个错误代码(无需修改任何配置文件或向 .py 文件添加注释),我可以执行以下操作:
mypy --disable-error-code truthy-function --disable-error-code no-redef .
但是,当您想要的错误代码数量较多时,这很容易变得冗长禁用增加。有没有什么方法可以完成相同的行为而不需要重复
--disable-error-code
标志?
在 这个 答案中,有一种方法可以做我想做的事,除了它是作为评论这一事实在 .py 文件中而不是作为独立命令。
很遗憾,目前
没有更简洁的方法
可以通过
mypy
命令一次性禁用多个错误代码,除了重复使用
--disable-error-code
标志。
以下是几种替代方案,但各有优劣:
-
配置文件: 正如提到的,可以在
mypy.ini
或setup.cfg
文件中指定要忽略的错误代码,这样可以避免在命令行中重复输入。但这也意味着这些设置会应用于整个项目,而不是针对特定的一次运行。 -
环境变量: 可以设置
MYPYPATH
环境变量指向一个包含自定义配置文件的目录,并在该配置文件中禁用错误代码。但这同样也会影响所有使用该环境变量的mypy
调用。 -
封装脚本: 可以编写一个简单的 shell 脚本或 Python 脚本来运行
mypy
,并在脚本中处理错误代码列表。这样可以简化命令行调用,但需要额外的维护工作。
总的来说,
mypy
对于批量禁用错误代码的支持还不够灵活。希望未来版本能够提供更简洁的解决方案。
以下是一些额外的建议:
-
可以使用
--strict
标志来启用所有可选的错误检查,然后使用--disable-error-code
禁用不想要的特定错误。 -
如果经常需要禁用相同的错误代码集,可以考虑创建一个包含这些代码的文本文件,并在命令行中使用 shell 扩展将其传递给
mypy
。 例如,假设有一个名为disabled_codes.txt
的文件,其中包含要禁用的错误代码,每行一个,则可以使用以下命令运行mypy
:
mypy $(cat disabled_codes.txt | sed 's/^/--disable-error-code /') .
这只是一个简单的示例,可以根据自己的需要进行修改。
标签:python,command-line,command,mypy From: 78781969