2015-11-17 2 views
6

Я развертываю свое первое приложение (Flask) до EB и нажимаю на него. Использование PostgreSQL требует, чтобы я установил psycopg2, но я не могу понять, как его запустить.psycopg2 на эластичном бобовом стебле - не удается развернуть приложение

Я видел в этом посте (Psycopg2 on Amazon Elastic Beanstalk), а также этот пост (https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/), что мне нужно добавить имя файла .elasticbeanstalk/01_packages.config со следующим кодом:

packages: 
    yum: 
    postgresql-devel: [] 

я пробовал различные варианты с postgresql93-devel: [] и до сих пор не повезло. Ниже приведены мои журналы ошибок.

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

Это кажется довольно ясно, что мне нужно, чтобы получить установлен psycopg2, но я не уверен, что другие шаги, которые я могу предпринять, чтобы сделать эту работу.

+0

У меня есть то же самое. Я дам вам знать, разрешу ли я это. – Cephlin

ответ

7

Я решил это, вам нужно открыть вам EC2 экземпляр первого, а затем установить, как этот

sudo yum install postgresql-devel 

Затем развернуть EB

+0

смог завершить 'sudo install psycopg2' только после того, как вы предоставили команду! – Vadim

0

Даже после установки postgresql93-Devel, я постоянно получаю ошибку «нет модуль под названием psycopg2 ". Чтобы решить эту проблему, мне пришлось подключиться к моей среде с помощью eb ssh, а затем выполнить sudo pip install psycopg2, чтобы решить эту проблему.

Смежные вопросы