77

When running the statement

from __future__ import annotations

I get the following error:

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

What could be the cause of this error?

2 Answers 2

73

Looking at your error traceback, it looks like you are using python 3.5. Is that the case?

If so, then the error happens because according to PEP-563 the import of __future__ annotations is available starting with Python 3.7.

I did not find any hints that this will be backported to previous versions, but I might have missed that.

Sign up to request clarification or add additional context in comments.

8 Comments

This future feature is also missing in Python 3.6. Why isn't it back ported? If I use annotations, they are widely supported in 3.7, so no need for a future. If I run my code on an older Python, both, the annotations and the future are not supported. So why this future?
Mabe because those annotations are planned for Python 4.0.
the future import is not about annotations, it's about postponed evaluation of annotations.
For anyone coming along now, this appears to have been back-ported to 3.6.9
I don't think it is. Running Python 3.6.9 and I am still getting SyntaxError: future feature annotations is not defined
|
2

If it happens with Python 3.6, do:

pip3 install --upgrade pip

or

pip install --upgrade pip

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.