【问题标题】:i was creating a REST api using flask and while i was about to test it on postman I saw that error我正在使用烧瓶创建一个 REST api,当我正要在邮递员上测试它时,我看到了那个错误
【发布时间】:2021-12-18 15:41:09
【问题描述】:
  File "c:\Users\kally\rest\code\app.py", line 3, in <module>
    from flask_jwt import JWT
  File "C:\Users\kally\AppData\Roaming\Python\Python310\site-packages\flask_jwt\__init__.py", line 16, in <module>
    import jwt
  File "C:\Users\kally\AppData\Roaming\Python\Python310\site-packages\jwt\__init__.py", line 19, in <module>   
    from .api_jwt import (
  File "C:\Users\kally\AppData\Roaming\Python\Python310\site-packages\jwt\api_jwt.py", line 5, in <module>     
    from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections' (C:\Program Files\Python310\lib\collections\__init__.py)

【问题讨论】:

标签: python flask flask-restful flask-jwt python-3.10


【解决方案1】:

扩展我的评论:

described in the documentation 一样,Mapping 在 v3.3 中已移至 collections.abc,并且自 v3.9 起已弃用(但在 v3.8 之前仍保持向后兼容性可见)。

您的错误源于使用过时的导入 - 您需要升级使用过的 pyjwt/jwt - 尤其是它的 /api_jwt.py。当前版本

https://github.com/jpadilla/pyjwt/blob/master/jwt/api_jwt.py

使用自 2018 年 11 月 this commit 以来的正确导入。

【讨论】:

  • 老实说我不明白你能不能像向新手解释一样解释它
  • @gabrielkalango 您在导入时使用的是旧软件。这些旧的东西使用语法来导入不再起作用的 Mapping 类(自 3.9 起)。您需要更新导入的模块:how-do-i-update-a-python-package - 这可能会或可能不会破坏其他东西,所以要小心
【解决方案2】:

那个错误

from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections' 

是在告诉你,collection 包中没有 Mapping。请查看doc

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 2020-12-18
    相关资源
    最近更新 更多