0

我在 Python 3.8 脚本上工作,其中包括 sqlite3 和串行。在准系统 Raspi OS 上运行它们时效果很好。但是,当我尝试在容器化 lambda 上使用它们时,我得到了这些错误

lambda_runtime.py:141,Failed to import handler function "main.function_handler" due to exception: No module named 'serial'

lambda_runtime.py:141,Failed to import handler function "main.function_handler" due to exception: No module named '_sqlite3'

问题是如何将这些模块与我的代码一起导入?greengrass sdk 使用 sqlite3 似乎很荒谬,但我不能在我自己的 lambda 函数中使用它们

有什么帮助吗?如果需要,我可以提供更多详细信息

4

1 回答 1

1

通过导入序列号和我的 lambda 代码来修复序列号

由于我的 RaspiOS 在 Python 3.9 上运行,我不得不通过自己编译和安装 3.8 来降级到 Python 3.8。这是我用来安装 3.8 并默认启用 sqlite3 的完整脚本。注意--enable-loadable-sqlite-extensions配置上的标志,我相信这就是解决我在那里遇到的问题的原因

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz
tar xf Python-3.8.0.tar.xz
cd Python-3.8.0
./configure --enable-loadable-sqlite-extensions --enable-optimizations --prefix=/usr
make
sudo make altinstall
cd ..
sudo rm -r Python-3.8.0
rm Python-3.8.0.tar.xz
于 2021-12-19T15:03:30.700 回答