Transcrypt Python to JavaScript コンパイラーのタイプチェッカーとして mypy を使用しています。mypy はまだ流動的であるため、mypy の変更による非互換性を防ぐために、「凍結」バージョンを Transcrypt にバンドルしています。
これまで、バージョン 0.4.4 を Transcrypt インストール ディレクトリのサブディレクトリに含めましたが、問題なく動作しました。
現在、0.4.7 にアップグレードしようとしていますが、この単純なテスト プログラムの型チェックでは:
def f (i: int) -> int:
return 'xyz'
f ('abc')
def g (i: int) -> int:
return 'xyz'
f ('abc')
次のエラー メッセージが表示されます。
test.py: error: Name '__builtins__' is not defined
test.py:1: error: Name 'int' is not defined
定期的にインストールされている mypy を使用すると、すべてがうまくいき、次のレポートが表示されます。
test.py:2: error: Incompatible return value type (got "str", expected "int")
test.py:4: error: Argument 1 to "f" has incompatible type "str"; expected "int"
test.py:7: error: Incompatible return value type (got "str", expected "int")
test.py:9: error: Argument 1 to "f" has incompatible type "str"; expected "int"
mypy を特別な場所に配置するには、いくつかの設備が必要なようです。すでにこのcustom-typeshed-dir
オプションを試しましたが、役に立ちませんでした。
mypy をアプリケーションにバンドルする方法を明らかにできる人はいますか?