如何为适配AWS Lambda的Python项目指定Python 3.9版本构建?
解决AWS Lambda Python 3.9构建依赖的问题
方法一:用pyenv全局切换到Python 3.9
- 安装pyenv(通过官方安装脚本完成)
curl https://pyenv.run | bash - 配置shell环境变量,将pyenv的shims目录加入PATH(以bash为例,zsh同理):
在~/.bashrc文件末尾添加以下内容:
执行export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"source ~/.bashrc使配置生效 - 安装Python 3.9的最新稳定版本:
pyenv install 3.9.18 - 设置全局Python版本为3.9:
pyenv global 3.9.18 - 验证版本:执行
python --version,确认输出为Python 3.9.18,之后再运行pip install . -t python/即可
方法二:直接指定Python 3.9的pip命令
如果系统已安装Python 3.9,无需切换全局版本,直接调用对应版本的pip:
- macOS/Linux:
python3.9 -m pip install . -t python/ - Windows:
py -3.9 -m pip install . -t python/
方法三:使用Python 3.9虚拟环境隔离构建
- 创建Python 3.9虚拟环境:
python3.9 -m venv lambda-build-env - 激活虚拟环境:
- macOS/Linux:
source lambda-build-env/bin/activate - Windows:
lambda-build-env\Scripts\activate
- macOS/Linux:
- 激活后环境自动使用Python 3.9,直接执行构建命令:
pip install . -t python/ - 构建完成后,执行
deactivate退出虚拟环境
CI/CD环境构建补充
如果在自动化构建环境(如AWS CodeBuild、GitHub Actions)中操作,直接指定Python 3.9运行环境即可:
- CodeBuild:选择
aws/codebuild/amazonlinux2-x86_64-standard:3.0镜像,在buildspec.yml中添加:phases: install: runtime-versions: python: 3.9 - GitHub Actions:在workflow文件中指定Python版本:
steps: - uses: actions/setup-python@v4 with: python-version: '3.9'
内容的提问来源于stack exchange,提问作者Istvan
相关产品推荐
相关产品推荐

