2014-09-26 18 views
13

Tôi đang sử dụng API python-social-auth để xác thực trong trang web của mình. Nhưng tôi nhận được một ngoại lệ `không thể nhập tên is_secure_transport.không thể nhập tên is_secure_transport

Dưới đây là dấu vết.

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 
+2

Tôi đoán là, bạn có thể có phiên bản cũ hơn của 'oauthlib' Thử nâng cấp lên 0,62 – karthikr

+0

nâng cấp thanx @karthikr làm việc cho tôi ... hiện đang nhận được' HTTPError tại/complete/google-oauth2/ 401 Client Lỗi: Không được phép bất kỳ ý tưởng nào ... – HadeS

+0

đảm bảo bạn đã cung cấp thông tin xác thực chính xác như được xác định trong tài liệu – karthikr

Trả lời

10

Cập nhật phiên bản oauthlib chắc chắn hoạt động.

Chỉ cần làm điều này:

sudo pip install --upgrade oauthlib 
+0

giải pháp này không phải lúc nào cũng hoạt động. – Veltro

6

bạn nên gỡ bỏ cài đặt tweepy, nâng cấp oauthlib và sau đó cài đặt lại tweepy như root:

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

Đã cùng một vấn đề và điều này đã làm việc tốt cho tôi.

+2

Điều này đã phân loại tôi. Gần đây tôi đã phải nâng cấp tweepy vì điều này: http://stackoverflow.com/a/18580472/3563897. Hóa ra tôi sau đó cần phải làm đại tu đầy đủ để làm cho nó hoạt động. Cảm ơn! – FredFury

+1

Đã thử một vài thứ khác (bao gồm cả câu trả lời được chấp nhận) đây là những gì đã sửa cho tôi – 5uperdan

Các vấn đề liên quan