温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

annotations中导入报错如何解决

发布时间:2021-08-05 16:26:16 来源:亿速云 阅读:1009 作者:Leah 栏目:编程语言

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_excpy_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中导入报错如何解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI