Python 是否可以使用命令行选项减少/消除系统级代码的MyPy错误?
在我的代码上运行MyPy,这些错误似乎不可能通过命令行选项禁用。我不想将代码标记为被忽略,这样当他们得到类型提示时,事情会变得更好。我只想从site packages文件夹中的文件中删除它,而不是在我的任何代码中Python 是否可以使用命令行选项减少/消除系统级代码的MyPy错误?,python,django,mypy,Python,Django,Mypy,在我的代码上运行MyPy,这些错误似乎不可能通过命令行选项禁用。我不想将代码标记为被忽略,这样当他们得到类型提示时,事情会变得更好。我只想从site packages文件夹中的文件中删除它,而不是在我的任何代码中 from django.db import connection from django.conf import settings from django.test import TestCase, TransactionTestCase from django.utils impor
from django.db import connection
from django.conf import settings
from django.test import TestCase, TransactionTestCase
from django.utils import timezone
所有这些都会遭受这种“错误”的影响
我应该清楚,我不想忽略此代码的不存在,只想忽略类型提示的不存在。我就是这么做的:
mypy --disallow-untyped-calls --ignore-missing-imports file1.py file2.py
您可以通过创建一个以每个模块为基础抑制导入错误的命令来抑制来自第三方模块的所有警告,如下所示:
[mypy]
# The [mypy] section is for any global mypy configs you want to set.
# Per-module configs are listed below.
[mypy-django.db.*]
ignore_missing_imports = True
[mypy-django.conf.*]
ignore_missing_imports = True
[mypy-django.test.*]
ignore_missing_imports = True
[mypy-django.utils.*]
ignore_missing_imports = True
这有点像运行mypy--ignore missing module your_code
,只是我们只忽略列出的django模块(及其子模块)
当然,您可以为[mypy django.*]
创建一个单独的部分,而不是列出上面的所有内容,但这可能会意外地隐藏任何django的误用,而上面的注释中提到的django类型提示存根可能会捕获到这些误用
有关处理这些“未找到类型提示”错误的选项的更多详细信息,请参阅。这不是对您问题的直接回答,但您是否考虑过在这种特殊情况下使用它?我现在正在使用它。确实处理了很多问题。谢谢如果这是一个答案,我会接受它,即使它只处理一些问题,它确实解决了代码示例,我找不到任何选项来实际执行我想要的操作。如果我导入自己的文件,这不会默默地抑制这些错误?我不是这方面的专家,但如果你列出我编写的所有相关文件“file1.py file2.py”,我认为不应该跳过它们。
[mypy]
# The [mypy] section is for any global mypy configs you want to set.
# Per-module configs are listed below.
[mypy-django.db.*]
ignore_missing_imports = True
[mypy-django.conf.*]
ignore_missing_imports = True
[mypy-django.test.*]
ignore_missing_imports = True
[mypy-django.utils.*]
ignore_missing_imports = True