无法执行“gcc”:运行 docker build 时没有此类文件或目录

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,我也非常感谢一些提示!

谢谢!!

Dil*_*ary 4

添加以下命令来安装所需的东西。

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)