annotations中導入報錯如何解決,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
相關環境版本
python 3.7.10fastapi 0.63.0Cython 0.29.22
報錯文件
# main.pyfrom __future__ import annotations......# code
報錯信息
1.
main.py:1:23: future feature annotations is not definedTraceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/Cython/Build/Dependencies.py", line 1249, in cythonize_one_helper return cythonize_one(*m) File "/usr/local/lib/python3.7/dist-packages/Cython/Build/Dependencies.py", line 1225, in cythonize_one raise CompileError(None, pyx_file)
2.
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
報錯原因
1. 使用Cython版本過低
https://github.com/cython/cython/issues/2950#issuecomment-679136993
2. 使用python3.7以下版本
報錯: https://stackoverflow.com/questions/52889746/cant-import-annotations-from-future/52890129
根據PEP-563在py3.7中才能使用
https://www.python.org/dev/peps/pep-0563/#enabling-the-future-behavior-in-python-3-7
報錯解決
1.升級Cython, 使用3.0版本
pip3.7 install Cython==3.0a1
關于annotations中導入報錯如何解決問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。