【发布时间】:2018-06-28 06:50:14
【问题描述】:
我尝试使用 eb deploy 在 AWS Elastic Beanstalk 上部署 Flask 应用程序,但失败了。
我在app目录下有requirements.txt:
Flask==0.12.2
numpy==1.13.3
pandas==0.21.1
requests==2.18.4
scipy==1.0.0
Werkzeug==0.12.2
-e git+http://github.com/hensing/PyDDE#egg=PyDDE
以及.ebextensions目录下的python.config文件:
packages:
yum:
git: []
gcc-c++: []
make: []
错误信息是:
信息:环境更新正在开始。
信息:正在将新版本部署到实例。
错误:您的 requirements.txt 无效。快照您的日志以获取详细信息。
错误:[实例:i-03e92fa3c58b6e010] 命令在实例上失败。返回码:1 输出:(截断)... )
文件“/usr/lib64/python2.7/subprocess.py”,第 541 行,在 check_call 中
引发 CalledProcessError(retcode, cmd)
CalledProcessError: 命令'/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements .txt' 返回非零退出状态 2.
挂钩 /opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py 失败。有关更多详细信息,请查看 /var/log/eb-ac tivity.log 使用控制台或 EB CLI。
INFO:命令执行已在所有实例上完成。摘要:[成功:0,失败:1]。
错误:在实例 ID“i-03e92fa3c58b6e010”上执行命令不成功。中止操作。
错误:无法部署应用程序。
而/var/log/eb-activity.log 显示:
2018-01-19 04:26:53,878 错误安装依赖项时出错:命令'/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' 返回非零退出状态2
Traceback(最近一次调用最后一次):
文件“/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py”,第 22 行,在 main
install_dependencies()
文件“/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py”,第 18 行,在 install_dependencies 中
check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), 壳=真)
文件“/usr/lib64/python2.7/subprocess.py”,第 541 行,在 check_call 中
引发 CalledProcessError(retcode, cmd)
CalledProcessError: 命令'/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requiremen ts.txt' 返回非零退出状态 2 (Executor::NonZeroExitStatus)
这个问题似乎是因为 AWS Elastic Beanstalk 不支持 -e git+ 安装?
【问题讨论】:
-
我也面临同样的问题。
标签: python git pip amazon-elastic-beanstalk