Python google应用程序引擎无法运行Cron作业,并给出一个提示:没有名为gcloud的模块
应用引擎无法导入gcloud 使用gcloud app deploy app.yaml\cron.yaml在google app engine上部署 在浏览器上打开并获取: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
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也能找到它,但我个人不会依赖它)。虽然这可能可行,但实际上不符合建议的第三方安装程序:虽然这可能可行,但实际上不符合建议的第三方安装程序: