web-dev-qa-db-ja.com

__future__から注釈をインポートできません

ステートメントを実行するとき

from __future__ import annotations

次のエラーが表示されます。

Traceback (most recent call last):
  File "/usr/lib/python3.5/py_compile.py", line 125, in compile
    _optimize=optimize)
  File "<frozen importlib._bootstrap_external>", line 735, in source_to_code
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "./prog.py", line 1
    from __future__ import annotations
    ^
SyntaxError: future feature annotations is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.5/py_compile.py", line 129, in compile
    raise py_exc
py_compile.PyCompileError:   File "./prog.py", line 1
    from __future__ import annotations
                                     ^
SyntaxError: future feature annotations is not defined

このエラーの原因は何ですか?

9

エラートレースバックを見ると、python 3.5を使用しているようです。そうですか?

その場合、 PEP-56 に従って__future__annotationsのインポートがPython 3.7で始まるため、エラーが発生します。

これが以前のバージョンにバックポートされるというヒントは見つかりませんでしたが、見落としていたかもしれません。

8
Ralf