前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >annotations导入报错

annotations导入报错

作者头像
不止于python
发布于 2022-05-31 12:24:41
发布于 2022-05-31 12:24:41
1.9K00
代码可运行
举报
文章被收录于专栏:不止于python不止于python
运行总次数:0
代码可运行

相关环境版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python 3.7.10
fastapi 0.63.0
Cython 0.29.22

报错文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# main.py
from __future__ import annotations
......
# code

报错信息

1.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
main.py:1:23: future feature annotations is not defined
Traceback (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.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3.7 install Cython==3.0a1

2.使用python3.7以上版本

相关链接

https://github.com/cython/cython/issues/2950

https://stackoverflow.com/questions/52889746/cant-import-annotations-from-future/52890129

https://www.python.org/dev/peps/pep-0563/#enabling-the-future-behavior-in-python-3-7

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验