无法导入名称 is_secure_transport

Posted

技术标签:

【中文标题】无法导入名称 is_secure_transport【英文标题】:cannot import name is_secure_transport 【发布时间】:2014-11-20 23:59:21 【问题描述】:

我在我的网站中使用 python-social-auth API 进行身份验证。 但我得到一个异常`cannot import name 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

【问题讨论】:

我的猜测是,你可能有一个旧版本的 oauthlib 尝试将其升级到 0.6.x thanx @karthikr 升级对我有用...现在得到HTTPError at /complete/google-oauth2/ 401 Client Error: Unauthorized 任何想法... 确保您提供了文档中定义的正确凭据 有同样的问题。我已将 oauthlib 升级到 0.6.1。 @ShashankHegde 希望对你有用.. :-) 【参考方案1】:

更新 oauthlib 版本绝对有效。

这样做:

sudo pip install --upgrade oauthlib 

【讨论】:

【参考方案2】:

您应该卸载 tweepy,升级 oauthlib,然后以 root 身份重新安装 tweepy:

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

遇到了同样的问题,这对我来说很好。

【讨论】:

这解决了我的问题。由于这个原因,我最近不得不升级 tweepy:***.com/a/18580472/3563897。事实证明,我需要进行全面检修才能使其正常工作。谢谢! 尝试了其他一些事情(包括接受的答案),这就是为我解决的问题

以上是关于无法导入名称 is_secure_transport的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:无法导入名称“评估”(来自意外导入评估)

我必须安装啥才能解决找不到 GtkSource 的任何类型库,无法导入:GtkSourceView,无法导入名称 GtkSource

ImportError:无法导入名称“AFAVSignature”

ImportError:无法导入名称 VarianceThreshold

ImportError:无法导入名称“WebClient”

ImportError:无法导入名称发现