在本文中,您将会了解到关于如何防止GoogleAppEngine上的“导入错误:没有名为oauth2client.client的模块”?的新资讯,并给出一些关于android–如何使用ClientID
在本文中,您将会了解到关于如何防止Google App Engine上的“导入错误:没有名为oauth2client.client的模块”?的新资讯,并给出一些关于android – 如何使用ClientID和ClientSecret在Phonegap中使用Angularjs登录Google OAuth2、App Engine上的Django 1.7“ ImportError:没有名为msvcrt的模块”、Django-导入错误:没有名为* .urls的模块、django导入错误-没有名为core.management的模块的实用技巧。
本文目录一览:- 如何防止Google App Engine上的“导入错误:没有名为oauth2client.client的模块”?
- android – 如何使用ClientID和ClientSecret在Phonegap中使用Angularjs登录Google OAuth2
- App Engine上的Django 1.7“ ImportError:没有名为msvcrt的模块”
- Django-导入错误:没有名为* .urls的模块
- django导入错误-没有名为core.management的模块
如何防止Google App Engine上的“导入错误:没有名为oauth2client.client的模块”?
我们收到一个错误:
ImportError:没有名为OAuth2Client的模块
我们注意到有关该主题的数十个问题,许多未回答的问题,以及至少一个回答,描述了从Google App Engine SDK复制文件的解决方案。
但是,这种方法似乎很乏味,因为所有依赖项还不清楚。如果我们复制过来oauth2client
然后运行,则下一个错误是缺少另一个模块。修复此问题,然后缺少另一个模块,依此类推,等等。
具有讽刺意味的是,我们可以在PyCharm中看到从Google App Engine SDK列出的所有所需文件和模块,但脚本似乎无法访问它们。
有没有更好的方法来提取oauth2client
Python在App Engine上运行所需的所有文件?
答案1
小编典典答案是文件中的“供应商”。
我们根据此文档https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring
和此SO答案找到了解决此问题的快速方法。
在与app.yaml文件相同的文件夹中创建一个名为“ lib ”的新文件夹。(您可以命名其他名称。只需在下面使用该名称即可。)
在与app.yaml文件相同的文件夹中创建一个名为 appengine_config.py 的空文件
在该appengine_config.py文件中添加两行:
from google.appengine.ext import vendor vendor.add(''lib'')
- 在终端上,导航到包含该文件的目录,然后执行以下命令:
sudo pip install -t lib google-api-python-client
导入错误将消失,您还将拥有所有从属模块。
android – 如何使用ClientID和ClientSecret在Phonegap中使用Angularjs登录Google OAuth2
如果没有任何正确的答案,这个问题似乎正在蔓延.我希望现在应该解决. Google Angular Guys应该会有所帮助.
How to implement Google Auth in phonegap?
最接近的主题是How to use Google Login API with Cordova/Phonegap,但这不是angularjs的解决方案.
我不得不使用以下代码传输javascript变量值:
var el = document.getElementById('test'); var scopeTest = angular.element(el).scope(); scopeTest.$apply(function(){ scopeTest.user = user; scopeTest.logged_in = true; scopeTest.name = user.name; scopeTest.email = user.email; });
解决方法
.controller('TestCtrl',function($scope,$ionicPopup) { $scope.logged_in = false; $scope.getMember = function(id) { console.log(id); }; $scope.test = function(){ $ionicPopup.alert({"title":"Clicked"}); } $scope.call_google = function(){ googleapi.authorize({ client_id: 'CLIENT_ID',client_secret: 'CLIENT_SECRET',redirect_uri: 'http://localhost',scope: 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email' }).done(function(data) { accesstoken=data.access_token; // alert(accesstoken); // $loginStatus.html('Access Token: ' + data.access_token); console.log(data.access_token); //$ionicPopup.alert({"title":JSON.stringify(data)}); $scope.getDataProfile(); }); }; $scope.getDataProfile = function(){ var term=null; // alert("getting user data="+accesstoken); $.ajax({ url:'https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token='+accesstoken,type:'GET',data:term,dataType:'json',error:function(jqXHR,text_status,strError){ },success:function(data) { var item; console.log(JSON.stringify(data)); // Save the userprofile data in your localStorage. window.localStorage.gmailLogin="true"; window.localStorage.gmailID=data.id; window.localStorage.gmailEmail=data.email; window.localStorage.gmailFirstName=data.given_name; window.localStorage.gmailLastName=data.family_name; window.localStorage.gmailProfilePicture=data.picture; window.localStorage.gmailGender=data.gender; window.localStorage.gmailName=data.name; $scope.email = data.email; $scope.name = data.name; } }); //$scope.disconnectUser(); //This call can be done later. }; $scope.disconnectUser = function() { var revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token='+accesstoken; // Perform an asynchronous GET request. $.ajax({ type: 'GET',url: revokeUrl,async: false,contentType: "application/json",dataType: 'jsonp',success: function(nullResponse) { // Do something Now that user is disconnected // The response is always undefined. accesstoken=null; console.log(JSON.stringify(nullResponse)); console.log("-----signed out..!!----"+accesstoken); },error: function(e) { // Handle the error // console.log(e); // You Could point users to manually disconnect if unsuccessful // https://plus.google.com/apps } }); }; })
我正在为尝试使用Google OAuth2登录时面临类似问题的新手提供此答案.因此,我无耻地要求UpVotes,因为我也是新来的!
App Engine上的Django 1.7“ ImportError:没有名为msvcrt的模块”
我正在尝试在Windows计算机上运行的Google App Engine开发服务器上将Django升级到1.7版。
尝试加载应用程序时,我从以下消息中得到以下异常doango\core\files\locks.py
:
ImportError: No module named msvcrt
相关的代码行是:
if os.name == 'nt':
import msvcrt
我猜是因为App Engine的开发服务器未提供msvcrt的版本而引发异常,但是由于我的开发机是Windows,所以os.name仍然是'nt'
。
是否有解决方案或解决方法?
相关的堆栈跟踪:
File "...\django\core\files\locks.py",line 30,in <module>
import msvcrt
File "D:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\python\sandbox.py",line 852,in load_module
raise ImportError('No module named %s' % fullname)
Django-导入错误:没有名为* .urls的模块
我正在研究官方的Django教程,并使用Django
1.6.1版,Python 2.7.6对其稍作调整以适应我的需要。
我正要映射URL,但是当很明显其中有一个模块具有适当命名的文件时,我会不断收到“无模块命名为customers.urls”的错误,所以我真的迷失了什么我做错了
我最初的想法是,我需要在root / urls.py中导入与客户相关的内容,但是每种导入组合都会导致大致相同的错误,并且本教程没有说要这样做。
ROOT_URLCONF =’taco.urls’(taco是项目的名称)
我正在使用manage.py/runserver运行此程序,因此我知道并没有发生任何特殊的Web服务器骗局。我已经重启了好几次。
追溯可以证明,所有应用程序都已正确注册。
任何关于我忽略的东西的指针将不胜感激!
root / urls.py:
from django.conf.urls import patterns,include,url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',url(r'^customers/',include('customers.urls')),url(r'^admin/',include(admin.site.urls)),)
客户/urls.py:
from django.conf.urls import patterns,url;
from customers import views;
urlpatterns = ('',url(r'^$',views.index,name='index')
);
客户/views.py:
from django.shortcuts import render
from django.http import HttpResponse;
def index(request):
return HttpResponse("Hello");
追溯
Environment:
Request Method: GET
Request URL: http://192.168.3.208:8000/customers/
Django Version: 1.6.1
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','south','taco.customers','taco.inventory','taco.lookups','taco.orders')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
99. resolver_match = resolver.resolve(request.path_info)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in resolve
337. for pattern in self.url_patterns:
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in url_patterns
365. patterns = getattr(self.urlconf_module,"urlpatterns",self.urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in urlconf_module
360. self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
40. __import__(name)
File "/var/project/taco/taco/urls.py" in <module>
7. url(r'^customers/',File "/usr/lib/python2.7/dist-packages/django/conf/urls/__init__.py" in include
26. urlconf_module = import_module(urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
40. __import__(name)
Exception Type: ImportError at /customers/
Exception Value: No module named customers.urls
django导入错误-没有名为core.management的模块
好的,我看到很多这些错误。我已经尝试了所有我想做的事情,但是还没有弄清楚。
我正在开发运行python 2.5和Django 1.3的开发服务器。在解压缩tar.gz下载文件后,使用python setup.py
install安装了Django 1.3。
一切正常,我很少需要运行,manage.py
但是尝试使用新的staticfiles应用程序,并且遇到了问题。
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py",line 2,in <module>
from django.core.management import execute_manager
ImportError: No module named core.management
好的,所以我有PATH
问题。
从Django安装中,我再次检查site-packages
目录。
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
/usr/lib/python2.5/site-packages
好的,让我们检查一下我拥有什么,回显$ PYTHON_PATH为空,因此我将其设置为
export PYTHON_PATH=/usr/lib/python2.5/site-packages/django
仍然没有运气。让我们检查sys.path怎么说
>>> import sys
>>> print sys.path
['','/usr/lib/python2.5','/usr/lib/python2.5/plat-linux2','/usr/lib/python2.5/lib-tk','/usr/lib/python2.5/lib-dynload','/usr/local/lib/python2.5/site-packages','/usr/lib/python2.5/site-packages','/usr/lib/python2.5/site-packages/PIL','/usr/lib/python2.5/site-packages/django','/var/lib/python-support/python2.5']
路径在那里,我什至用内容创建了/usr/lib/python2.5/site-packages/django.pth
cat /usr/lib/python2.5/site-packages/django.pth
/usr/lib/python2.5/site-packages/django/
有人知道这里发生了什么吗?
我在通往的道路上发现了一个符号链接,但没有出现新的错误。
python manage.py collectstatic
Traceback (most recent call last):
File "manage.py",line 14,in <module>
execute_manager(settings)
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py",line 438,in execute_manager
utility.execute()
File "/usr/lib/python2.5/site-packages/django/core/management/__init__.py",line 349,in execute
version=get_version(),File "/usr/lib/python2.5/site-packages/django/__init__.py",line 12,in get_version
from django.utils.version import get_svn_revision
ImportError: No module named utils.version
我还尝试创建一个新项目,以查看是否存在任何问题,并得到相同的utils.version错误。
副节点:#django的Unode帮助了我一点,在同一台计算机上设置了virtualenv并克服了错误,因此仍然不确定此处的实际安装情况如何,但似乎不在django项目中,而在django中/
python安装。
我们今天的关于如何防止Google App Engine上的“导入错误:没有名为oauth2client.client的模块”?的分享已经告一段落,感谢您的关注,如果您想了解更多关于android – 如何使用ClientID和ClientSecret在Phonegap中使用Angularjs登录Google OAuth2、App Engine上的Django 1.7“ ImportError:没有名为msvcrt的模块”、Django-导入错误:没有名为* .urls的模块、django导入错误-没有名为core.management的模块的相关信息,请在本站查询。
本文标签: