【问题标题】:Zappa deploy fails with AttributeError: 'Template' object has no attribute 'add_description'Zappa 部署失败并出现 AttributeError:“模板”对象没有属性“add_description”
【发布时间】:2021-07-15 09:53:11
【问题描述】:

从几天前开始,zappa deploy 失败并出现以下错误(zappa 版本 0.50.0):

Traceback (most recent call last):
  File "/root/repo/venv/lib/python3.6/site-packages/zappa/cli.py", line 2785, in handle
    sys.exit(cli.handle())
  File "/root/repo/venv/lib/python3.6/site-packages/zappa/cli.py", line 510, in handle
    self.dispatch_command(self.command, stage)
  File "/root/repo/venv/lib/python3.6/site-packages/zappa/cli.py", line 557, in dispatch_command
    self.update(self.vargs['zip'], self.vargs['no_upload'])
  File "/root/repo/venv/lib/python3.6/site-packages/zappa/cli.py", line 993, in update
    endpoint_configuration=self.endpoint_configuration
  File "/root/repo/venv/lib/python3.6/site-packages/zappa/core.py", line 2106, in create_stack_template
    self.cf_template.add_description('Automatically generated with Zappa')
AttributeError: 'Template' object has no attribute 'add_description'

【问题讨论】:

  • @Dominique 除非您在部署脚本中使用 zappa 作为库,否则也会导致此错误。

标签: python zappa


【解决方案1】:

自版本3.0.0 起,包troposphere 删除了已弃用的Template 方法(请参阅changelog)。

重大更改:* Python 3.6+(Python 2.x 和更早的 Python 3.x 支持由于 Python EOL 现在已弃用)* 删除以前弃用的模板方法。

可以通过在需求文件中添加troposphere<3来解决上述问题。

【讨论】:

  • 我还必须在 AWS 控制台上删除我的函数并重新部署。否则我会遇到一些 Cloud Formation 错误。
  • 在 requirements.txt 中,我将 troposphere==3.0.3 更改为 tropospherezappa update dev 但得到了同样的错误。还有其他想法吗?
  • 许多人面临的一个相关问题是最新版本的 setuptools。见:stackoverflow.com/a/69337822/1855919
【解决方案2】:

nbeuchat 的答案可能不适用于所有人,可能有帮助的替代解决方案是更改 venv/lib/python3.6{or 7,8, etc.}/site-packages/zappa/core 中的行.py 从 add_description() 到 set_description()。

Troposphere 将 add_description 更新为 set_description 以及其他以前不推荐使用的模板方法,这就是您看到问题的原因。

Source

【讨论】:

  • 我不得不这样做,因为 pipenv 和 zappa 0.53.0 无法正确安装对流层
猜你喜欢
  • 2021-03-18
  • 2021-11-13
  • 1970-01-01
  • 2022-07-16
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 2015-05-16
  • 1970-01-01
相关资源
最近更新 更多