Python google应用程序引擎无法运行Cron作业,并给出一个提示:没有名为gcloud的模块

Python google应用程序引擎无法运行Cron作业,并给出一个提示:没有名为gcloud的模块,python,google-app-engine,cron,gcloud-python,google-cloud-python,Python,Google App Engine,Cron,Gcloud Python,Google Cloud Python,应用引擎无法导入gcloud 使用gcloud app deploy app.yaml\cron.yaml在google app engine上部署 在浏览器上打开并获取: Traceback (most recent call last): File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle han

应用引擎无法导入gcloud 使用gcloud app deploy app.yaml\cron.yaml在google app engine上部署

在浏览器上打开并获取:

Traceback (most recent call last):
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/base/data/home/apps/s~gcp-project-01/20160916t160552.395688991947248655/main.py", line 18, in <module>
    import update_datastore as ud
  File "/base/data/home/apps/s~vehicle-monitors-api/20160916t160552.395688991947248655/update_datastore.py", line 20, in <module>
    from gcloud import datastore, logging
ImportError: No module named gcloud
cron.yaml文件:

    runtime: python27
    api_version: 1
    threadsafe: true

handlers: 
- url: /
  script: main
  login: admin
 cron:
    - description: run main app
      url: /
      target: main
      schedule: every 2 minutes
requirements.txt文件:

   gcloud==0.14.0

所有第三方软件包都需要安装在与应用程序相同的目录中。从应用程序的根目录运行此命令以安装它

pip install gcloud -t .

所有第三方软件包都需要安装在与应用程序相同的目录中。从应用程序的根目录运行此命令以安装它

pip install gcloud -t .
开始工作了! 使用路径:

import sys
sys.path.insert(0, 'lib')
附加:
还需要在需求中添加protobuf:
protobuf==3.1.0.post1

在google文件夹中创建
\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy

# this is a namespace package
try:
    import pkg_resources
    pkg_resources.declare_namespace(__name__)
except ImportError:
    import pkgutil
    __path__ = pkgutil.extend_path(__path__, __name__)
还可以使用
pip安装-t lib——升级protobuf

gcloud==0.18.1
已使用

抱歉发得太晚了

好了! 使用路径:

import sys
sys.path.insert(0, 'lib')
附加:
还需要在需求中添加protobuf:
protobuf==3.1.0.post1

在google文件夹中创建
\uuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuupy

# this is a namespace package
try:
    import pkg_resources
    pkg_resources.declare_namespace(__name__)
except ImportError:
    import pkgutil
    __path__ = pkgutil.extend_path(__path__, __name__)
还可以使用
pip安装-t lib——升级protobuf

gcloud==0.18.1
已使用


很抱歉发布得太晚

您是否曾经通过需求文件进行过安装?e、 g.
pip install-t lib-r requirements.txt
?@GAEfan即使在您前面提到的使用pip命令安装需求文件之后,我也会遇到相同的错误。可能性太多了。您的文件树是什么样子的?gcloud是否在您的sys.path中?从cron中删除
target:main
,因为这是不正确的。
gcloud
需要在你的应用程序中出售:也在你的
app中。yaml
理论上应该是
script:main.app
而不是
script:main
(从回溯来看,即使没有这一点,盖伊似乎也能找到答案,但就我个人而言,我不会相信这一点)。您是否曾经通过需求文件进行过安装?例如,
pip install-t lib-r requirements.txt
?@GAEfan即使在您前面提到的使用pip命令安装需求文件之后,我也会遇到同样的错误。可能性太多。您的文件树是什么样子的?gcloud是否在sys.path中?请删除
target:main
from cron,因为这是不正确的。
gcloud
需要在你的应用程序中出售:也在你的
应用程序中。yaml
理论上你应该拥有
script:main.app
而不是
script:main
(从回溯来看,即使没有它,似乎GAE也能找到它,但我个人不会依赖它)。虽然这可能可行,但实际上不符合建议的第三方安装程序:虽然这可能可行,但实际上不符合建议的第三方安装程序: