我正在尝试在 AWS Elastic Beanstalk 上部署我的应用程序。我收到此错误,完全看不出问题出在哪里。
下面是 .ebextensions/mysite-env.config
中的代码
packages:
yum:
python-devel: []
postgresql-devel: []
container_commands:
01_syncdb:
command: "django-admin.py syncdb --noinput"
leader_only: true
02_createadmin:
command: "scripts/createadmin.py"
leader_only: true
option_settings:
- option_name: WSGIPath
namespace: "aws:elasticbeanstalk:container:python"
value: "mysite/wsgi.py"
- option_name: DJANGO_SETTINGS_MODULE
value: "mysite.settings"
经过几次尝试,我想通了一些事情
- 上面的配置文件似乎在
requirements.txt
出现在根目录之后运行 - 无法安装那些包(如上所述),但我可以通过进入 EC2 实例的
ssh
来安装(奇怪)
[1]
的问题在于,要安装 psycopg2
,我需要上述包。那么,我该如何先安装它们呢?
当我运行这些设置时,出现以下错误:
[2014-11-19T09:45:19.819Z] INFO [6703] - [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] : Activity execution failed, because: command failed with error code 1: Error occurred during build: Yum does not have postgresql-devel available for installation (Executor::NonZeroExitStatus)
然后,我使用了以下设置
套餐: 百胜: python 开发:[] 易于: postgresql-devel: []
然后我收到以下错误:
[2014-11-19T09:47:54.271Z] ERROR [6789] : Command execution failed: [CMD-AppDeploy/AppDeployStage0/EbExtensionPreBuild] command failed with error code 1: Error occurred during build: [Errno 2] No such file or directory (ElasticBeanstalk::ActivityFatalError)
at /opt/elasticbeanstalk/lib/ruby/lib/ruby/gems/2.1.0/gems/beanstalk-core-1.0/lib/elasticbeanstalk/activity.rb:189:in `rescue in exec'
...
caused by: command failed with error code 1: Error occurred during build: [Errno 2] No such file or directory (Executor::NonZeroExitStatus)
当我可以直接从 ssh
安装这些包时,自动化有什么问题?我的设置有什么问题?
最佳答案
在 yum 语句中使用 postgresql93-devel 因为他们已经更新了包名
packages:
yum:
python26-devel: []
postgresql93-devel: []
关于python - Elastic Beanstalk 无法安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26996870/