我有一个在 AWS Lambda 上的 Docker 容器中运行的 Python 脚本。我正在使用推荐的 AWS 映像 ( public.ecr.aws/lambda/python:3.9),它附带 SQLite 版本 3.7.17(从 2013 年开始!)。当我在 M1 Mac 上本地测试容器时,我看到以下内容:
$ docker run --env-file .env --entrypoint bash -ti my-image\nbash-4.2# uname -a\nLinux e9ed14d35cbe 5.10.104-linuxkit #1 SMP PREEMPT Thu Mar 17 17:05:54 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux\nbash-4.2# sqlite3 --version\n3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668\nRun Code Online (Sandbox Code Playgroud)\n但是,我使用较新的 SQLite 功能,因此我需要找到一种方法来使用该库的较新版本。最直接的解决方案是按照此答案中的建议安装二进制包。文档说它应该像使用 pip 安装一样简单。不幸的是,当我尝试在 Docker 容器内使用这种方法时,我得到了以下信息:
\nbash-4.2# pip3 install pysqlite3-binary\nERROR: Could not find a version that satisfies the requirement pysqlite3-binary …Run Code Online (Sandbox Code Playgroud)