Lambda函数报错:缺失regex._regex模块,求requirements.txt配置方案
解决AWS Lambda部署中"regex._regex"模块缺失问题
报错Unable to import module 'app_api': No module named 'regex._regex'的核心原因是跨系统依赖不兼容:你在Windows环境打包的依赖,和Lambda的Linux运行环境不匹配,尤其是nltk依赖的regex库,它包含编译后的二进制文件,Windows版本无法在Linux环境运行。
修改requirements.txt的具体方案:
- 在现有依赖列表中添加明确的regex依赖,指定兼容Lambda Linux环境的版本,示例:
选择这个版本是因为它对Lambda常用的x86_64/arm64 Linux架构兼容性稳定,避免版本过新导致的编译适配问题。fastapi mangum requests nltk regex>=2023.10.3
额外注意事项(配合你的Dockerfile和sh脚本):
- 确保Dockerfile使用Lambda官方Python基础镜像(比如
public.ecr.aws/lambda/python:3.11),所有依赖都在Linux环境下安装编译,完全匹配Lambda运行环境,从根源避免跨系统依赖问题。 - 不要在Windows本地直接用
pip install打包依赖,要么用Docker构建镜像,要么用pip install -r requirements.txt -t ./package --platform manylinux2014_x86_64指定Linux平台打包(需提前安装pip install pip-tools)。
内容的提问来源于stack exchange,提问作者vecohah
相关产品推荐
相关产品推荐

