问题描述
我正在尝试通过python projcet中的Facebook登录。它一直告诉我ImportError:每当我使用终端迁移该模块时,都没有名为'oauth2_provider.ext'的模块
我是使用pip Frozen安装的:
certifi==2020.6.20
cffi==1.14.2
chardet==3.0.4
cryptography==3.1
defusedxml==0.7.0rc1
dj-database-url==0.5.0
Django==2.2.16
django-braces==1.14.0
django-oauth-toolkit==1.3.2
django-oauth2==3.0
django-rest-framework-social-oauth2==1.0.4
djangorestframework==3.11.1
gunicorn==19.6.0
idna==2.10
oauthlib==3.1.0
Pillow==3.3.0
pycparser==2.20
PyJWT==1.7.1
python-social-auth==0.3.6
python3-openid==3.2.0
pytz==2020.1
requests==2.24.0
requests-oauthlib==1.3.0
shortuuid==1.0.1
six==1.15.0
social-auth-app-django==1.1.0
social-auth-core==3.3.3
sqlparse==0.3.1
urllib3==1.25.10
whitenoise==3.2.1
和requirements.txt文件包含:
Django==1.10
gunicorn==19.6.0
Pillow==3.3.0
whitenoise==3.2.1
dj-database-url==0.5.0
psycopg2==2.7.5
django-rest-framework-social-oauth2==1.0.4
和我的runtime.txt文件:
python-3.5.2
以及我用来从Facebook在settings.py中使用的网站登录的代码
INSTALLED_APPS = [..,'oauth2_provider','social_django','rest_framework_social_oauth2',]
TEMPLATES = [ ...,'OPTIONS': {...,'social_django.context_processors.backends','social_django.context_processors.login_redirect',],AUTHENTICATION_BACKENDS = (
'social_core.backends.facebook.FacebookOAuth2','rest_framework_social_oauth2.backends.DjangoOAuth2','django.contrib.auth.backends.ModelBackend',)
SOCIAL_AUTH_FACEBOOK_KEY = '355645928947054'
SOCIAL_AUTH_FACEBOOK_SECRET = 'c606775c70e7dc01626ee41cbf95a0b8'
SOCIAL_AUTH_FACEBOOK_ScopE = ['email']
SOCIAL_AUTH_FACEBOOK_PROFILE_EXTRA_ParaMS = {
'fields': 'id,name,email'
}
和urls.py中:
in urlpatterns = [...,..,url(r'^api/social/',include('rest_framework_social_oauth2.urls')),]
解决方法
由➡️pip install django-rest-framework-social-oauth2解决
不是那个导致错误的版本▶️django-rest-framework-social-oauth2 == 1.0.4 错误消失了