部署Elastic Beanstalk时遇python setup.py egg_info失败及requirements.txt缺失错误
解决Elastic Beanstalk部署时awsebcli安装报错requirements.txt未找到的问题
问题本质
日志里的错误不是你的项目requirements.txt缺失,而是pip安装awsebcli包时,该包自身的setup.py试图读取它自己的requirements.txt文件,但在pip临时创建的安装目录中找不到这个文件,导致元数据生成失败,直接中断了部署流程。
解决方法
锁定awsebcli稳定版本:
新版awsebcli可能存在打包漏洞,直接在你的requirements.txt里指定一个验证过的稳定版本,比如:awsebcli==3.20.3你也可以尝试其他更早的稳定版本。
移除awsebcli依赖(如果用不上):
如果你的项目部署后不需要EB CLI工具,直接把requirements.txt里的awsebcli条目删掉,彻底避免这个安装错误。通过EB配置调整pip安装参数:
若必须安装最新版awsebcli,可修改Elastic Beanstalk的部署配置:- 在项目根目录创建
.ebextensions文件夹,新建01_pip_config.config文件 - 写入以下内容(注意替换虚拟环境路径为日志里显示的对应路径,或用
/var/app/venv/*/bin/pip适配多数环境):container_commands: 01_install_deps: command: "/var/app/venv/staging-LQM1lest/bin/pip install --no-build-isolation -r requirements.txt"
- 在项目根目录创建
验证
修改完成后重新打包部署,查看eb-engine.log确认错误消失,依赖安装正常完成。
内容的提问来源于stack exchange,提问作者Jason Howard
相关产品推荐
相关产品推荐

