我在我的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非常陌生,不知道问题出在哪里。
发布于 2020-04-06 14:14:34
通过运行以下方式安装jose:
pip install python-jose>=3.0.0发布于 2020-04-06 13:59:10
pip3 install social-auth-core[openidconnect]python是openid连接集成的一部分,需求是在Requires-openidconnect.txt中定义的,要安装它,您需要设置openidconnect额外的需求。
为了缓解这一问题,请将这种依赖添加到您的requirements.txt文件中:social-或不导入openidconnect模块。
来源:https://github.com/python-social-auth/social-app-django/issues/178
发布于 2020-04-06 14:02:51
正如Vikas所解释的,这是包的一个问题。要解决这个问题,只需在python环境中运行以下命令:
pip install social-auth-corehttps://stackoverflow.com/questions/61061435
复制相似问题