google-app-engine - Google Push-To-Deploy 管道 - 单元测试因模块导入错误而失败

标签 google-app-engine google-compute-engine release-management

当我尝试在 Compute Engine 中的 Google 配置的 Jenkins 服务器上执行构建时,出现以下错误。

[deployment_5371449468518400_1411607125060] $ /bin/sh -xe /tmp/hudson807438832151987098.sh
+ nosetests --with-xunit --xunit-file=nosetests.xml
E
======================================================================
ERROR: Failure: ImportError (No module named google.appengine.ext)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/nose/loader.py", line 414, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib/python2.7/dist-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib/python2.7/dist-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/var/jenkins/workspace/deployment_5371449468518400_1411607125060/tests.py", line 9, in <module>
    from google.appengine.ext import ndb
ImportError: No module named google.appengine.ext

----------------------------------------------------------------------
Ran 1 test in 0.448s

我确信这是因为我的 tests.py 中的以下行

from google.appengine.ext import ndb

请帮忙。

我包括一个 link到包含更多详细信息的文档

最佳答案

Joseph,由于路径设置不正确,请将此添加到 tests.py 文件的开头:

import sys
sys.path.append("/google-cloud-sdk/platform/google_appengine")

请不要忘记在尝试从该库中导入任何内容之前添加此部分,因为路径尚未配置。

换句话说:

import sys
sys.path.append("/google-cloud-sdk/platform/google_appengine")

some other imports
#next import ONLY after the path has been updated to point to the App Engine libraries
from google.appengine.ext import ndb

关于google-app-engine - Google Push-To-Deploy 管道 - 单元测试因模块导入错误而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26029120/

相关文章:

javascript - 管理不同构建环境(如 QA、UAT、生产环境)的 JavaScript 配置文件

centos - Google VM 实例升级后停止工作

google-app-engine - Google App Engine 可以在没有外部 IP 的情况下向同一项目中的 Compute Engine 实例发出 http 请求吗?

java - 使用 Mac OSX Mountain Lion 的 eclipse 4.2.2 上的 "Failed to initialize App Engine SDK at (path)"

Java : com. google.protobuf 不存在

google-cloud-platform - 谷歌计算引擎时区

version-control - SCM中标签的正确使用

release-management - 有没有像 codeplex 或 sourceforge 这样的开源发布管理系统?

python - 尝试推送通知时的 Cloud Pub/Sub Demo : 403 User not authorized to perform this action.

python - 如何支持传入 GAE 电子邮件的不同处理程序?