7

Sto provando a distribuire la mia applicazione su AWS Elastic Beanstalk. Sto ottenendo questo errore e totalmente incapace di vedere dove si trova il problema.Elastic Beanstalk non è in grado di installare pacchetti

Il sotto è il codice presente in .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" 

Dopo diversi hit-and-cercare metodi, ho capito alcune cose

  1. Il file di configurazione di cui sopra sembra di correre dietro requirements.txt presente in root
  2. Impossibile installare quei pacchetti (menzionati sopra) ma potrei essere installato inserendo ssh dell'istanza EC2 (strano)

Il problema con [1] è che, per psycopg2 da installare, ho bisogno dei pacchetti sopra menzionati. Quindi, come li installo prima?

Quando eseguo queste impostazioni, sto ottenendo l'errore sotto:

[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) 

Poi, ho usato le seguenti impostazioni

pacchetti: yum: python-devel: [] apt: postgresql-devel: []

Poi sto ottenendo l'errore sotto:

[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) 

Quando ho potuto installare questi pacchetti direttamente da ssh, qual è il problema con l'automazione? Cosa c'è di sbagliato con le mie impostazioni?

risposta

5

Usa postgresql93-devel nella dichiarazione yum come hanno aggiornato i nomi dei pacchetti

packages: 
    yum: 
    python26-devel: [] 
    postgresql93-devel: [] 
+7

al dic 2015, avente 'pitone devel' come dipendenza pacchetto dà' Yum non ha python-devel disponibile per l'installazione' in Beanstalk. – jmq

+0

@jmq, sai come installare python-devel con yum? Sto cercando di installare su AWS, ma sto ottenendo "Yum non ha python-devel disponibile per l'installazione". – tmthyjames

+0

@tmthyjames Io no.Il mio tentativo di installarlo è stato su raccomandazione di alcuni post sul blog che ho trovato relativi ad altre dipendenze del mio progetto, ma ho scoperto che non ne avevo più bisogno dopotutto per i miei scopi. Una cosa da considerare è di esaminare l'opzione '--enablerepo = epel' quando si scrivono comandi personalizzati. Rif [documenti AWS] (https://aws.amazon.com/amazon-linux-ami/faqs/). Scusa non ho potuto aiutare di più. – jmq

0

non ho potuto trovare un altro modo che l'installazione di questi pacchetti a mano.

packages: 
    yum: 
    ... 

commands: 
    01_python_devel_install: 
    command: 'yum install -y python34-devel' 

    02_postgresql_install: 
    command: 'yum install -y postgresql94 postgresql94-devel' 

Sto iniziando con beanstalk elastico e questo non mi dà una buona prima impressione.

0

Ecco il modo corretto secondo AWS.

Python 3

packages: 
    yum: 
    python34-devel: [] 
    postgresql94-devel: [] 

pitone 2,7

packages: 
    yum: 
    python27-devel: [] 
    postgresql94-devel: [] 

Reference

Problemi correlati