从gdata导入模块时出错

0 投票
1 回答
1089 浏览
提问于 2025-04-18 10:10

我在我的应用程序中使用了虚拟环境(virtualenv),并且在项目文件夹下的终端中通过 env/bin/pip install <lib name> 安装了 gdata、jira 和 gspread。现在我在按照 Google API 的文档操作,但却遇到了问题。

根据文档,要进行错误处理,你需要这样写:from gdata import errors

而且为了创建一个 Drive API 服务的实例(这样才能后续创建文件),你需要这样写:from gdata.discovery import build

但是我发现文件不一样,里面没有 "discovery" 或 "errors",当我运行 env/bin/python run.py 时,出现了这个错误:

Traceback (most recent call last):
  File "run.py", line 3, in <module>
    from gdata import errors
ImportError: cannot import name errors

(同样的问题也出现在 discovery 上)

我想,也许文档中实际上是指 from apiclient import errors,所以我尝试安装 apiclient,并把 gdata 替换成 apiclient,但还是不行。

我下载了 gdata.zip 文件并解压,查看了示例代码(特别是关于电子表格的,因为我想创建这个),发现他们的方法和文档中说的完全不同,这让我很困惑。我的目标是用他们的 API 从代码中创建一个电子表格,但我并不打算用他们的 API 来编辑电子表格本身,我计划使用 gspread(Github)。

我做了很多研究,找到了很多不同的地方,可能搞混了代码?有没有人知道我哪里出错了或者有什么解决办法?非常感谢!

1 个回答

1

这种导入错误通常是因为用户安装了一个同名的模块。你有没有在你的Python路径上找到一个叫gdata.py的文件呢?

你可以通过以下方法来确认这个问题是否是由它引起的:

import gdata
print gdata.__file__

这个命令会告诉你解释器是从哪里加载代码的。

撰写回答