zoukankan      html  css  js  c++  java
  • annotations导入报错

    转自

      「 不止于python

    相关环境版本

    python 3.7.10
    fastapi 0.63.0
    Cython 0.29.22

    报错文件

    # main.py
    from __future__ import annotations
    ......# code

    报错信息

    1. 

    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. 

    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:

    报错原因

    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

    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

  • 相关阅读:
    最短路径算法floyd(转)
    Effective Java 笔记(超链接)
    最短路径算法Dijkstra (转)
    散列表(哈希表)工作原理 (转)
    Java标记接口
    java clone方法使用详解(转)
    Effective Java笔记 (转)
    KMP算法中next数组的理解与算法的实现(java语言)
    sqlserver行列调换
    Linq的一些用法
  • 原文地址:https://www.cnblogs.com/mswei/p/14668360.html
Copyright © 2011-2022 走看看