【问题标题】:Nosetest and Google API: "no module named apiclient.discovery"Nosetest 和 Google API:“没有名为 apiclient.discovery 的模块”
【发布时间】:2012-12-17 17:04:43
【问题描述】:

我正在尝试测试我的使用 Google 翻译 API 的小 Python 脚本。
我必须在哪里安装 API 或者我必须做什么才能使nosetest 停止告诉我

ImportError: No module named apiclient.discovery

脚本运行良好,我按照你的方式导入它并使用 pip 安装它,但我找不到任何关于如何使用nosetest 使其工作的信息。

任何帮助将不胜感激! :)

【问题讨论】:

  • 您的机器上是否安装了多个 Python?
  • 我在 virtualenvwrapper 中工作。但我也安装了 API。
  • 在你的鼻子测试中删除一些代码以打印出它运行的pythonpath。
  • 我遇到了类似的事情。这是我得到的模块路径:/Library/Python/2.7/site-packages/google_api_python_client-1.0-py2.7.egg/apiclient 这似乎是正确的,但 from apiclient.oauth import OAuthCredentials, CredentialsInvalidError 不起作用。
  • 原来将 Google API python 客户端从 1.0beta 升级到 1.0 删除了它所有的 oauth 库!因此,要支持 OAuth 1.0 和 2.0,您需要降级回测试版。我发现最简单的方法是克隆 google-api-python-client Mercurial repo,签出相应的标签,然后从源代码安装。

标签: python testing google-api importerror nosetests


【解决方案1】:

脚本运行良好,我按照你的方式导入它并使用 pip 安装它,但我找不到任何关于如何使用nosetest 使其工作的信息。

不幸的是,GAE 不适用于 pip。我也遇到过类似的问题。

您需要做的是复制 Python 库中的模块,或者您可以从他们的网站再次下载它们,然后将它们直接粘贴到您的 GAE 代码中。通常,开发人员会创建一个名为 lib 的文件夹,并将其添加到 PYTHONPATH

那么你的鼻子测试应该运行。

【讨论】:

    【解决方案2】:

    我想你可以在https://pypi.python.org/pypi/apiclient/1.0.2 下载 tar.gz 文件。 将其解压缩并安装在您的 PC 上。

    【讨论】:

      猜你喜欢
      • 2016-09-03
      • 2020-11-04
      • 2016-07-11
      • 2023-03-25
      • 2019-02-01
      • 2013-09-29
      • 2015-09-02
      • 2013-08-18
      • 2019-03-28
      相关资源
      最近更新 更多