ImportError:无法从“itsdangerous”导入名称“TimedJSONWebSignatureSerializer”

Nag*_*han 5 python ubuntu

我正在 AWS EC2 实例中使用其危险的 python 包运行 Flask 应用程序。

Traceback (most recent call last):
  File "run.py", line 4, in <module>
    app = create_app()
  File "/home/ubuntu/RHS_US/application/portal/__init__.py", line 29, in create_app
    from portal.users.routes import users
  File "/home/ubuntu/RHS_US/application/portal/users/routes.py", line 7, in <module>
    from portal.models import User
  File "/home/ubuntu/RHS_US/application/portal/models.py", line 7, in <module>
    from itsdangerous import TimedJSONWebSignatureSerializer as Serializer
ImportError: cannot import name 'TimedJSONWebSignatureSerializer' from 'itsdangerous' (/home/ubuntu/.local/lib/python3.7/site-packages/itsdangerous/__init__.py)
Run Code Online (Sandbox Code Playgroud)

有解决办法吗?

小智 16

在itsdangerous的最新版本中,TimedJSONWebSignatureSerializer不再可用。试试这个吧。这对我有用。from itsdangerous import URLSafeTimedSerializer as Serializer


Hil*_*are 13

首先确保重新安装并更新其危险。

pip install -U itsdangerous
Run Code Online (Sandbox Code Playgroud)

那么你想做的是

 from itsdangerous.url_safe import URLSafeTimedSerializer as Serializer
Run Code Online (Sandbox Code Playgroud)

这效果很好。


小智 6

Itsdangerous 是一个非常常见且流行的包,用于在其他包和应用程序中进行序列化。\n要解决此问题:

\n
    \n
  1. 将您的 Flask 升级到最新版本 --- pip install flask \xe2\x80\x93upgrade
  2. \n
  3. 将itsdanger降级至2.0.1版本--- pip install itsdangerous==2.0.1
  4. \n
  5. 降级后,再次安装email_validator即可解决问题--- pip install email_validator
  6. \n
\n

我希望这能为您解决问题。快乐编码

\n