web-dev-qa-db-fra.com

Impossible d'importer des annotations depuis __future__

Lors de l'exécution de l'instruction

from __future__ import annotations

J'obtiens l'erreur suivante:

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

Quelle pourrait être la cause de cette erreur?

9
Shouko Nishimiya

En regardant votre trace d'erreur, il semble que vous utilisez python 3.5. Est-ce le cas?

Si oui, alors l'erreur se produit car selon PEP-56 l'importation de __future__annotations est disponible à partir de Python 3.7.

Je n'ai trouvé aucun indice que cela sera rétroporté aux versions précédentes, mais j'aurais peut-être manqué cela.

8
Ralf