1. ホーム
  2. python

[解決済み] mypyがソースファイル内の1行を無視する方法は?

2022-03-02 21:38:24

質問

を使っています。 mypy の型チェックのために、私のPythonプロジェクトで使用されています。また、プロジェクトの設定ファイルの読み書きにPyYAMLを使用しています。残念ながら PyYAML のドキュメントにある推奨されるインポート方法 これは、ネイティブライブラリをインポートしようとする try/except 節で偽のエラーを発生させます。

from yaml import load, dump
try:
    from yaml import CLoader as Loader, CDumper as Dumper
except ImportError:
    from yaml import Loader, Dumper

私のシステムでは CLoaderCDumper が存在しないため、エラーが発生します。 error: Module 'yaml' has no attribute 'CLoader'error: Module 'yaml' has no attribute 'CDumper' .

mypyにこの行のエラーを無視させる方法はあるのでしょうか?私は、mypyにその行をスキップさせるために、このようなことができることを期待していました。

from yaml import load, dump
try:
    from yaml import CLoader as Loader, CDumper as Dumper  # nomypy
except ImportError:
    from yaml import Loader, Dumper

解決方法は?

タイプエラーを無視するには # type: ignore 現在 バージョン0.2 (号参照 #500, 特定の行を無視する ):

PEP 484 用途 # type: ignore にとって 特定行の型エラー無視 ...

また、使用 # type: ignore あと少し [そのファイルを完全にチェックすることはできません。 .

<サブ 出典 mypy#500 . もご覧ください。 mypyドキュメント .