首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cloud中的身份验证错误:"ImportError:没有名为gce的模块“

Cloud中的身份验证错误:"ImportError:没有名为gce的模块“
EN

Stack Overflow用户
提问于 2016-03-21 14:22:19
回答 1查看 2.9K关注 0票数 1

我和其他人在各种不同的GCP项目中,以及在几天前同一代码起作用的情况下,都遇到了以下问题。

我现在又走了一遍所有的台阶,只是为了确保我还能看到同样的东西。我从删除GCP项目中正在运行的Cloud实例开始,然后重新开始:首先部署Datalab,然后“开始使用”Datalab。

然后,我选择了一个预先存在的笔记本,它以以下几行开头:

代码语言:javascript
运行
AI代码解释
复制
!pip install --upgrade google-api-python-client
from httplib2 import Http
from oauth2client.client import GoogleCredentials
credentials = GoogleCredentials.get_application_default()
http = Http()
credentials.authorize(http)

这在过去对我和其他人都是有效的。现在我得到了这个ImportError:

代码语言:javascript
运行
AI代码解释
复制
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-deffc94100d1> in <module>()
      1 from httplib2 import Http
      2 from oauth2client.client import GoogleCredentials
----> 3 credentials = GoogleCredentials.get_application_default()
      4 http = Http()
      5 credentials.authorize(http)

/usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc in get_application_default()
   1202         GoogleCredentials.get_application_default().
   1203   
-> 1204         Args:
   1205             access_token: string, access token.
   1206             client_id: string, client identifier.

/usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc in _get_implicit_credentials(cls)
   1187     """
   1188 
-> 1189     NON_SERIALIZED_MEMBERS =  (
   1190         frozenset(['_private_key']) |
   1191         OAuth2Credentials.NON_SERIALIZED_MEMBERS)

/usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc in _implicit_credentials_from_gce()
   1123 
   1124 def _in_gae_environment():
-> 1125     """Detects if the code is running in the App Engine environment.
   1126 
   1127     Returns:

/usr/local/lib/python2.7/dist-packages/oauth2client/client.pyc in _get_application_default_credential_GCE()
   1378         """Get the Application Default Credentials for the current environment.
   1379 
-> 1380         Raises:
   1381             ApplicationDefaultCredentialsError: raised when the credentials
   1382                                                 fail to be retrieved.

ImportError: No module named gce

有什么改变吗?以前被命名为"gce“的模块是否被重命名了?我需要创建凭据吗?(该项目有一个默认的APIs服务帐户和一个默认的Compute服务帐户,并且拥有我认为可能需要启用的所有API。)

2016年4月20日的最新消息:在一个月内没有重复这一消息后,我昨天又开始关注这个问题了。当我第一次试着重新运行上个月我正在使用的同一本笔记本时,为了让它正常工作,我需要拿出由于这个问题而添加的修复程序。但今天,同样的代码将再次失效。同时,我注意到建议已经更新了,所以现在我将介绍推荐的方法。

代码语言:javascript
运行
AI代码解释
复制
!pip show google-api-python-client
---
Name: google-api-python-client
Version: 1.5.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: httplib2, uritemplate, six, oauth2client

这里的角度看,所需的特定版本似乎是: httplib2>=0.8,<1;任意oauth2client;six>=1.6.1,<2;uritemplate>=0.6,<1。(允许早期oauth2client版本的更改似乎是在3月14日提交的,但Pypi显示最新的版本是2月20日上传的1.5.0,这与2月19日发布的发布页面表示一致,后者可能是这个问题最初出现的时候,尽管我几个星期没有注意到。)

在尝试使用Datalab时,我无法进一步尝试Anthonios描述的3种选项,因为在尝试使用Datalab时,我反复得到“连接失败”或其他错误。我很快就会再次更新这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 17:39:00

您可以在Datalab中安装其他python库,但必须确保安装不会破坏运行的Datalab环境。确保这一点的最佳方法是检查其他python库所需的依赖项当前是否安装在Datalab中。按照以下步骤执行:

步骤1:确认要安装的库需要哪些依赖项

使用!pip show <python library>

例如,使用以下方法查看google-api-python-client所需的依赖关系:

代码语言:javascript
运行
AI代码解释
复制
>>> !pip show google-api-python-client
---
Name: google-api-python-client
Version: 1.5.0
Location: /usr/local/lib/python2.7/dist-packages
Requires: httplib2, uritemplate, six, oauth2client

所需的特定版本可以找到这里

步骤2:确定任何依赖项是否已安装在Datalab

在Datalab中,运行以下代码并检查步骤1中的依赖项

代码语言:javascript
运行
AI代码解释
复制
>>> import pip
>>> for dist in pip.get_installed_distributions():
>>>   print dist
GCPData 0.1.0
GCPDataLab 0.1.0
wheel 0.26.0
tensorflow 0.6.0
protobuf 3.0.0a3
nbformat 4.0.1
ipykernel 4.2.2
jsonschema 2.5.1
nose 1.3.7
singledispatch 3.4.0.3
pyparsing 2.0.7
pandas 0.17.1
futures 3.0.3
pyasn1-modules 0.0.8
mock 1.3.0
MarkupSafe 0.23
cycler 0.9.0
ipython 4.0.3
terminado 0.6
path.py 8.1.2
certifi 2015.11.20.1
Pygments 2.1
funcsigs 0.4
backports-abc 0.4
jupyter-client 4.1.1
pexpect 4.0.1
backports.ssl-match-hostname 3.5.0.1
statsmodels 0.6.1
seaborn 0.6.0
scikit-learn 0.16.1
rsa 3.3
jupyter-core 4.0.6
brewer2mpl 1.4.1
py-dateutil 2.2
patsy 0.4.1
ptyprocess 0.5
PyYAML 3.11
Jinja2 2.8
decorator 4.0.6
pandocfilters 1.2.4
pickleshare 0.6
sympy 0.7.6
pytz 2015.7
httplib2 0.9.2
functools32 3.2.3-2
notebook 4.0.2
tornado 4.3
simplegeneric 0.8.1
numpy 1.10.4
matplotlib 1.5.1
scipy 0.17.0
pyasn1 0.1.9
pbr 1.8.1
python-dateutil 2.4.2
traitlets 4.1.0
oauth2client 1.4.12
ipython-genutils 0.1.0
nbconvert 4.1.0
ggplot 0.6.5
mistune 0.7.1

根据本例中的输出,一个冲突是Datalab当前安装了oauth2client版本1.4.12,而google-api-python-client库需要大于或等于2.0.0oauth2client版本。

我们有三个选择:

  • 直到Datalab将对oauth2client的支持升级到>=2.0.0
  • 安装支持现有google-api-python-client 1.4.12安装的以前版本的oauth2client。例如,google python-client 1.4.2
  • 尝试安装最新的google-api-python-client,同时维护现有的oauth2client安装。这可以通过在没有依赖项的情况下安装google-api-python-client,然后手动安装任何在Datalab中尚未安装的缺失依赖项来实现。(库可能不能正常工作,但我们不太可能破坏工作的Datalab环境)。例如: !pip install google-api-python-client==1.5.0 --no-deps !pip install uritemplate
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36142739

复制
相关文章
曾经,我以为我很懂MySQL索引
  在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
陈哈哈
2020/09/11
8070
曾经,我以为我很懂MySQL索引
匿名函数自调用_自己调用自己的函数叫
我们知道一个HTML文件在被加载的时候是从根标签html依次往下的,在遇到link,script等标签引入的外部资源时,下载外部资源,并执行外部资源。在js中,表达式会被立即执行,也就是说,不管是引入的外部js文件还是嵌入在html文件中的js脚本,其中的表达式都会被立即执行。 函数名是一个指向函数的指针。在JavaScript中,定义函数有常见的两种形式:函数声明和函数直接量(或者叫函数表达式)。 函数声明:采用function定义声明函数的标准写法,包括function,函数名,函数体。如
全栈程序员站长
2022/11/09
2.6K0
这代码写的太烂了!你以为我真想写“垃圾代码”吗?
很多时候作为底层的“码农”我们并没有选择权,然后我们的青春就浪费在了重复写垃圾代码里,浪费在了“项目目标里”,自己得到的也就是比正常小白领多一点的薪水,但是自己的发展空间被严重限制了
搜云库技术团队
2019/09/26
1K0
我是不会运行你的代码吗?不,我是不会导入自己的数据!
常常遇到有人问起看到分享的教程导入数据的方式是data(dune)等直接调用系统的数据,而自己怎么读入自己的数据呢?
生信宝典
2022/01/18
1.5K0
我的细胞系还是我以为的细胞系嘛?
我们在做细胞实验的时候,经常会有这样的疑虑,细胞被那么多人蹂躏了那么多次了,那我现在操作的细胞当时我以为的那个细胞系嘛?会不会有人在传代的时候不小心把这个细胞系的名字写成了另外的名字,然后就这样一直传下去了呢。
医学数据库百科
2020/07/07
4700
关于Linux的grep -f命令,我以为我发现了bug
今天,我像往常一样提取基因组的样本,我有一堆样本的ID,需要从所有的基因型的文件中提取出来。
邓飞
2021/09/03
1.2K0
一日一技:多个Python项目怎么调用我自己的工具函数?
在多年写代码的过程中,我总结了不少常用的工具函数。这些工具函数有的能够实现快速重试网络请求,有的可以把任意格式的时间转成标准格式,还有的可以自动生成正则表达式。
青南
2022/05/23
1.1K0
一日一技:多个Python项目怎么调用我自己的工具函数?
我准备自己做一个卫星
我是不是膨胀了,连卫星都敢做了?不知道你是否有想过自己制作一颗卫星吗?看完本篇文章,你也能自己做个卫星,要想上天就差个火箭了!
单片机点灯小能手
2020/07/17
1.1K0
我准备自己做一个卫星
我以为我很懂Promise,直到我开始实现Promise/A+规范
2我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识!
程序员白彬
2021/03/09
6480
我以为我很懂Promise,直到我开始实现Promise/A+规范
我以为我很懂Promise,直到我开始实现Promise/A+规范
我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识!
程序员白彬
2021/03/23
8000
我可以在一个构造函数中调用另一个构造函数么
但在 C++11 版本之前是不可以的,不过你可以通过两种方式来模拟实现(可以参见 the C++ FAQ entry),
ClearSeve
2022/02/10
3.2K0
[C#]我自己写的一个对字节中每位进行修改值的函数
byte初始状态: 11111111 byte修改第0位后的结果: 01111111 byte修改第1位后的结果: 00111111 byte修改第2位后的结果: 00011111 byte修改第3位后的结果: 00001111 byte修改第4位后的结果: 00000111 byte修改第5位后的结果: 00000011 byte修改第6位后的结果: 00000001 byte修改第7位后的结果: 00000000
静默虚空
2022/05/07
2.2K0
GitHub:我开源我自己;CEO:不存在的
TypeScript的开发者Resynth忽然Po了篇文章,表示代码托管服务GitHub的全部源代码被泄露。
龙哥
2020/11/19
5390
GitHub:我开源我自己;CEO:不存在的
我卷我自己——cvpr2021:Involution
本文重新回顾了常规卷积的设计,其具有两个重要性质,一个是空间无关性,比如3x3大小的卷积核是以滑窗的形式,滑过特征图每一个像素(即我们所说的参数共享)。另外一个是频域特殊性,体现在卷积核在每个通道上的权重是不同的。
BBuf
2021/03/25
1.9K1
故障分析 | MySQL:我的从库竟是我自己!?
爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。热爱互联网,会摄影、懂厨艺,不会厨艺的 DBA 不是好司机,didi~
爱可生开源社区
2023/08/18
2180
故障分析 | MySQL:我的从库竟是我自己!?
用XGB调XGB?"我"调"我"自己?
上篇《深恶痛绝的超参》已经介绍了很多实用的调参方式,今天来看一篇更有趣的跳槽方法,用ML的方式调ML的模型我们用我们熟悉的模型去调我们熟悉的模型,看到这里很晕是不是,接下来我们就看看XGBoost如何调XGBoost。
炼丹笔记
2021/06/15
5000
我什么也不懂,能搞个自己的网站吗?能!
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
我被狗咬了
2019/11/12
2.3K0
重构 -- 我是一个类,难道我不配有专属的测试代码吗?
刚看到这个观点的时候,我是很不以为然的,谁让它标题不吸引人>>>《构建测试体系》 就这标题,谁不知道要测试啊。还好我没有“以貌取文”,我认真的看了下去。
看、未来
2020/08/26
7730
我眼中的变量聚类
‍‍‍‍‍ 连续变量压缩的基本思路为:建模之前使用主成分、因子分析或变量聚类的方法进行变量压缩,后续建模时使用向前法、向后法、逐步法或全子集法进一步进行变量细筛。虽然方法的名称叫做变量聚类,但却并不是聚类分析,而是一种主成分分析的方法。
许卉
2019/07/15
1.5K0
我眼中的变量聚类
点击加载更多

相似问题

我可以为spring提供我自己的变量插值器吗?

10

Powershell:我可以为我自己的函数参数使用一个现有的枚举吗?

110

我可以为我自己的类创建资源属性吗?

10

我可以为carrot2使用我自己的标签吗?

16

我可以为我的业务逻辑创建自己的状态代码吗?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档