aws sam build 无法构建需要 paramiko 的包,因为“错误:PythonPipBuilder:ResolveDependencies”

use*_*260 5 python paramiko amazon-web-services aws-sam-cli aws-sam

我一直在学习 AWS SAM 的诀窍,并成功部署了许多 lambda 表达式以及依赖项和其他 AWS 服务。但是,在尝试部署依赖于某些特定依赖项的 lambda 时,我似乎遇到了问题。

这是我的requirements.txt 文件:

paramiko==2.4.2
cryptography==2.6.1
bcrypt==3.1.6
pynacl==1.3.0
Run Code Online (Sandbox Code Playgroud)

该文件位于“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)}
Run Code Online (Sandbox Code Playgroud)

此(或至少类似)错误已报告: 8 个多月前,目前尚未得到答复。

PS 我最初只用 paramiko 尝试过这个,因为据我了解,这是我的脚本使用的唯一库;依赖项应该在构建过程中自动引入,但这也不起作用。

任何帮助都会很棒吗?

小智 13

我在运行时遇到另一个依赖项相同的错误sam build。我可以通过在 python(或 venv)环境中安装wheel来解决这个问题。

pip install wheel
Run Code Online (Sandbox Code Playgroud)

这种方法在运行时不需要--use-container标志sam build


小智 5

安装wheel对我不起作用,但升级 pip 却起作用。

python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)


use*_*260 2

我已经设法找到一种解决方法来构建和部署需要 paramiko 库的 lambda,在交互模式下使用 docker 容器。有同样问题的人可以看一下这里