annotations中导入报错如何解决,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
创新互联建站长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为临海企业提供专业的成都网站制作、成都网站设计,临海网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
相关环境版本
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 "
", line 735, in source_to_code File "
", 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 "
", line 1, in 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中导入报错如何解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。