2015-11-17 10 views
6

Ich bin die Bereitstellung meiner ersten App (Flask) zu EB und bin ein Haken. Die Verwendung von PostgreSQL erfordert, dass ich psycopg2 installiert habe, aber ich kann nicht herausfinden, wie es funktioniert.Psycopg2 auf elastischen Bohnenstange - kann keine App

sah ich in diesem Beitrag (Psycopg2 on Amazon Elastic Beanstalk) sowie diesen Beitrag (https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/), die ich brauche einen Dateinamen .elasticbeanstalk/01_packages.config mit dem folgenden Code hinzuzufügen:

packages: 
    yum: 
    postgresql-devel: [] 

ich verschiedene Varianten mit postgresql93-devel: [] versucht haben und immer noch kein Glück. Anbei finden Sie meine Fehlerprotokolle.

[2015-11-16T21:03:24.749Z] INFO [2680] - [Application update/AppDeployStage0/AppDeployPreHook/03deploy.py] : Starting activity... 
[2015-11-16T21:03:27.024Z] INFO [2680] - [Application update/AppDeployStage0/AppDeployPreHook/03deploy.py] : Activity execution failed, because: Collecting psycopg2==2.6.1 (from -r /opt/python/ondeck/app/requirements.txt (line 1)) 
    Using cached psycopg2-2.6.1.tar.gz 
     Complete output from command python setup.py egg_info: 
     running egg_info 
     creating pip-egg-info/psycopg2.egg-info 
     writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt 
     writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt 
     writing pip-egg-info/psycopg2.egg-info/PKG-INFO 
     writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt' 
     warning: manifest_maker: standard file '-c' not found 

     Error: pg_config executable not found. 

     Please add the directory containing pg_config to the PATH 
     or specify the full executable path with the option: 

      python setup.py build_ext --pg-config /path/to/pg_config build ... 

     or with the pg_config option in 'setup.cfg'. 

     ---------------------------------------- 
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-z20gvx7_/psycopg2 
    2015-11-16 21:03:27,010 ERROR Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 
    Traceback (most recent call last): 
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main 
     install_dependencies() 
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 18, in install_dependencies 
     check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), shell=True) 
    File "/usr/lib64/python2.7/subprocess.py", line 540, in check_call 
     raise CalledProcessError(retcode, cmd) 
    CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 (ElasticBeanstalk::ExternalInvocationError) 
caused by: Collecting psycopg2==2.6.1 (from -r /opt/python/ondeck/app/requirements.txt (line 1)) 
    Using cached psycopg2-2.6.1.tar.gz 
     Complete output from command python setup.py egg_info: 
     running egg_info 
     creating pip-egg-info/psycopg2.egg-info 
     writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt 
     writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt 
     writing pip-egg-info/psycopg2.egg-info/PKG-INFO 
     writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt' 
     warning: manifest_maker: standard file '-c' not found 

     Error: pg_config executable not found. 

     Please add the directory containing pg_config to the PATH 
     or specify the full executable path with the option: 

      python setup.py build_ext --pg-config /path/to/pg_config build ... 

     or with the pg_config option in 'setup.cfg'. 

     ---------------------------------------- 
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-z20gvx7_/psycopg2 
    2015-11-16 21:03:27,010 ERROR Error installing dependencies: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 
    Traceback (most recent call last): 
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 22, in main 
     install_dependencies() 
    File "/opt/elasticbeanstalk/hooks/appdeploy/pre/03deploy.py", line 18, in install_dependencies 
     check_call('%s install -r %s' % (os.path.join(APP_VIRTUAL_ENV, 'bin', 'pip'), requirements_file), shell=True) 
    File "/usr/lib64/python2.7/subprocess.py", line 540, in check_call 
     raise CalledProcessError(retcode, cmd) 
    CalledProcessError: Command '/opt/python/run/venv/bin/pip install -r /opt/python/ondeck/app/requirements.txt' returned non-zero exit status 1 (Executor::NonZeroExitStatus) 

Es scheint ziemlich klar, dass ich brauche psycopg2 installiert zu bekommen, aber ich bin mir nicht sicher, was andere Schritte, die ich nehmen kann diese Arbeit zu machen.

+0

Ich habe das gleiche. Ich werde dich wissen lassen, wenn ich es löse. – Cephlin

Antwort

7

ich es gelöst, müssen Sie Sie EC2-Instanz öffnen zuerst, dann wie dieses

sudo yum install postgresql-devel 

Dann implementieren Ihre EB installieren

+0

konnte 'sudo install psycopg2' nur nach dem von Ihnen angegebenen Befehl ausführen! – Vadim

0

Auch nach postgresql93-devel installieren, hielt ich erhalte eine Fehlermeldung „no Modul namens psycopg2 ". Um dies zu lösen, musste ich eine Verbindung zu meiner Umgebung mit eb ssh herstellen und dann sudo pip install psycopg2 ausführen, um dies zu lösen.

Verwandte Themen