Big*_*sin 5 cpython amazon-web-services docker aws-lambda amazon-ecr
我试图为我的 python 脚本创建一个 docker 映像并将其上传到 AWS ECR,然后在 Lambda 中使用它。我们的Python运行时在AWS控制台上显示为3.8,所以我只是按照本手册操作: https ://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-create-from-base
但是当我运行 docker build -t image-name 时出现错误。
#6 14.02 gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/var/lang/include/python3.8 -c bitarray/_bitarray.c -o build/temp.linux-x86_64-3.8/bitarray/_bitarray.o
#6 14.02 unable to execute 'gcc': No such file or directory
#6 14.02 error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我仔细检查了一下,我的 macOS 上安装了 gcc:
Warning: gcc 11.2.0 is already installed and up-to-date.
To reinstall 11.2.0, run:
brew reinstall gcc
Run Code Online (Sandbox Code Playgroud)
希望能提供一些解决此问题的帮助。谢谢!
编辑:此问题源于我在 Lambda 上运行脚本时无法导入 CPython 库 cytoolz,因此我查阅了这些问题以使用 docker 模拟运行时。 https://github.com/Miserlou/Zappa/issues/1717#issuecomment-445821158 https://github.com/ethereum/web3.py/issues/1456#issuecomment-866862759
如果有更好的方法在不使用 docker 的情况下导入 cytoolz,我也非常感谢一些提示!
谢谢!!
添加以下命令来安装所需的东西。
RUN yum update -y
RUN yum groupinstall 'Development Tools' -y
示例 Dockerfile:
FROM public.ecr.aws/lambda/python:3.9
RUN yum update -y
RUN yum groupinstall 'Development Tools' -y
RUN pip --version
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7331 次 |
| 最近记录: |