繁体   English   中英

ModuleNotFoundError:没有名为“jose”的模块

[英]ModuleNotFoundError: No module named 'jose'

我在我的 django 项目中使用python-social-auth在我的项目中使用社交平台进行身份验证。 一切正常,但出现此错误ModuleNotFoundError: No module named 'jose'这是整个错误:

[05/Apr/2020 14:01:00] "GET /accounts/login/ HTTP/1.1" 200 3058
Internal Server Error: /login/twitter/
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\social_core\backends\utils.py", line 50, in get_backend
    return BACKENDSCACHE[name]
KeyError: 'twitter'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Ahmed\AppData\Roaming\Python\Python37\site-packages\django\core\handlers\exception.py", line 34, in inner
    response = get_response(request)
  File "C:\Users\Ahmed\AppData\Roaming\Python\Python37\site-packages\django\core\handlers\base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Users\Ahmed\AppData\Roaming\Python\Python37\site-packages\django\core\handlers\base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Ahmed\AppData\Roaming\Python\Python37\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\social_django\utils.py", line 46, in wrapper
    backend, uri)
  File "C:\Program Files\Python37\lib\site-packages\social_django\utils.py", line 27, in load_backend
    Backend = get_backend(BACKENDS, name)
  File "C:\Program Files\Python37\lib\site-packages\social_core\backends\utils.py", line 53, in get_backend
    load_backends(backends, force_load=True)
  File "C:\Program Files\Python37\lib\site-packages\social_core\backends\utils.py", line 35, in load_backends
    backend = module_member(auth_backend)
  File "C:\Program Files\Python37\lib\site-packages\social_core\utils.py", line 62, in module_member
    module = import_module(mod)
  File "C:\Program Files\Python37\lib\site-packages\social_core\utils.py", line 56, in import_module
    __import__(name)
  File "C:\Program Files\Python37\lib\site-packages\social\backends\google.py", line 3, in <module>
    from social_core.backends.google_openidconnect import GoogleOpenIdConnect
  File "C:\Program Files\Python37\lib\site-packages\social_core\backends\google_openidconnect.py", line 5, in <module>
    from .open_id_connect import OpenIdConnectAuth
  File "C:\Program Files\Python37\lib\site-packages\social_core\backends\open_id_connect.py", line 6, in <module>
    from jose import jwk, jwt
ModuleNotFoundError: No module named 'jose'
[05/Apr/2020 14:01:06] "GET /login/twitter/?next=/accounts/login/ HTTP/1.1" 500 132103

我对 python 很陌生,无法弄清楚问题是什么。

通过运行安装 jos:

pip install python-jose>=3.0.0
pip3 install social-auth-core[openidconnect]

python-jose 是 openid connect 集成的一部分,要求在 requirements-openidconnect.txt 中定义,要安装它,您需要设置 openidconnect 额外要求。

要缓解这种情况,请将此依赖项添加到您的 requirements.txt 文件中:social-auth-core[openidconnect] 或不要导入 openidconnect 模块。

来源: https://github.com/python-social-auth/social-app-django/issues/178

正如 Vikas 所解释的,这是 package 的问题。 要解决它,您只需在 python 环境中运行以下命令:

pip install social-auth-core

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM