【发布时间】:2019-12-31 12:39:49
【问题描述】:
我一直在学习 AWS SAM 的诀窍,并成功部署了许多 lambda 以及依赖项和其他 AWS 服务。但是,在尝试部署依赖于某些特定依赖项的 lambda 时,我似乎遇到了问题。
这是我的 requirements.txt 文件:
paramiko==2.4.2
cryptography==2.6.1
bcrypt==3.1.6
pynacl==1.3.0
此文件位于“packageRoot/myCodeUri/requirements.txt”中
当我运行 sam build 时出现以下错误:
2019-08-27 11:18:18 Running PythonPipBuilder:ResolveDependencies
Build Failed
Error: PythonPipBuilder:ResolveDependencies - {pynacl==1.3.0(wheel), cryptography==2.6.1(wheel), bcrypt==3.1.6(wheel)}
这个(或至少类似的)错误已在 8 个月前报告:here,但目前未得到答复。
附:我最初只用 paramiko 尝试过这个,因为据我所知,这是我的脚本使用的唯一库;依赖项应该在构建期间自动拉入,但这也不起作用。
任何帮助会很好吗?
【问题讨论】:
-
你试过用
--use-container运行sam build吗? -
我有,但它抛出一个不同的错误,说它找不到 requirements.txt 文件。我也尝试使用 -m 参数并手动指向它,但我得到了同样的错误。
-
除非有另一种方法我应该告诉它需求文件的路径?我觉得它是一个 pip 问题,可以通过升级 pip 来解决 - 问题(我相信)是 python 3.6 运行时是使用构建的默认设置创建的,你不能升级 pip 然后在同一迭代中安装 paramiko通过 requirements.txt - 如果有一种方法可以使用已经升级到最新版本的 pip 构建容器,那么可以解决它吗? (我可能完全错了)
标签: python amazon-web-services paramiko aws-sam-cli aws-sam