当我尝试在 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/