You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

App Engine(灵活环境)使用deferred.defer遇模块找不到错误求助

解决Python3 App Engine灵活环境中deferred模块找不到的问题

你遇到的问题很典型——因为你参考的教程是针对App Engine标准环境的,而Python3的灵活环境和标准环境的依赖体系完全不同,旧的google.appengine.ext模块并不会预装在灵活环境里。下面是具体的解决步骤:

1. 替换依赖包

灵活环境中需要使用新的Cloud Deferred库,而不是旧的App Engine SDK模块。在你的requirements.txt中添加以下依赖:

google-cloud-deferred
google-cloud-tasks

然后执行pip install -r requirements.txt安装这些包。

2. 修改app.yaml配置

移除原来的builtins配置(灵活环境不支持这个字段),并更新deferred的handler路径:

handlers:
- url: /_ah/queue/deferred
  script: google.cloud.deferred.deferred.application
  login: admin

3. 更新代码中的导入语句

把原来的导入:

from google.appengine.ext import deferred

替换为:

from google.cloud import deferred

额外注意事项

  • 确保你的App Engine服务账号拥有Cloud Tasks Enqueuer和Cloud Tasks Viewer的权限(可以在Google Cloud控制台的IAM页面配置),否则任务无法正常提交。
  • 如果你是从头开发异步任务,更推荐直接使用google-cloud-tasks客户端库,这是Google现在主推的异步任务方案,功能更完整也更灵活。

内容的提问来源于stack exchange,提问作者beachCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:02:01