Подтвердить что ты не робот

Не может импортировать имя is_secure_transport

Я использую API-интерфейс python-social-auth для аутентификации на своем веб-сайте. Но я получаю исключение `не могу импортировать имя is_secure_transport.

Ниже трассировка.

Django 1.7
Python Version: 2.7.6
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.sites',
 'social.apps.django_app.default',
 'login')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/utils.py" in wrapper
  49.                                                backend, uri)
File "/usr/local/lib/python2.7/dist-packages/social/apps/django_app/utils.py" in load_backend
  29.     Backend = get_backend(BACKENDS, name)
File "/usr/local/lib/python2.7/dist-packages/social/backends/utils.py" in get_backend
  51.         load_backends(backends, force_load=True)
File "/usr/local/lib/python2.7/dist-packages/social/backends/utils.py" in load_backends
  33.             backend = module_member(auth_backend)
File "/usr/local/lib/python2.7/dist-packages/social/utils.py" in module_member
  23.     module = import_module(mod)
File "/usr/local/lib/python2.7/dist-packages/social/utils.py" in import_module
  17.     __import__(name)
File "/usr/local/lib/python2.7/dist-packages/social/backends/facebook.py" in <module>
  12. from social.backends.oauth import BaseOAuth2
File "/usr/local/lib/python2.7/dist-packages/social/backends/oauth.py" in <module>
  4. from requests_oauthlib import OAuth1
File "/usr/local/lib/python2.7/dist-packages/requests_oauthlib/__init__.py" in <module>
  3. from .oauth2_auth import OAuth2
File "/usr/local/lib/python2.7/dist-packages/requests_oauthlib/oauth2_auth.py" in <module>
  3. from oauthlib.oauth2 import is_secure_transport

Exception Type: ImportError at /login/google-oauth2/
Exception Value: cannot import name is_secure_transport
4b9b3361

Ответ 1

Обновление версии oauthlib определенно работает.

Просто сделайте следующее:

sudo pip install --upgrade oauthlib 

Ответ 2

вам следует удалить tweepy, обновить oauthlib и затем переустановить tweepy как root:

sudo pip uninstall tweepy
sudo pip install oauthlib --upgrade
sudo apt-get install python-tweepy

Была та же проблема, и это сработало для меня.