我是AWS CLI USAGE的新手。所以要清楚地解释我的错误,这样我下次就不会犯这个错误。
这是我的requirements.txt文件:
appdirs==1.4.3
cssselect==1.0.1
dj-database-url==0.4.2
Django==1.11
django-ckeditor==5.2.2
Markdown==2.6.8
packaging==16.8
psycopg2==2.5.4
pyparsing==2.2.0
pytz==2017.2
six==1.10.0
以下是.ebextensions目录中的文件:
django.config
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "awsbean.settings"
aws:elasticbeanstalk:container:python:
WSGIPath: cv_web/wsgi.py
packages.config
packages:
yum:
git: []
python.config
container_commands:
01_migrate:
command: "python src/manage.py migrate --noinput"
leader_only: true
这是我的.ebextensions / .elasticbeanstalk中的config.yml文件 :
branch-defaults:
default:
environment: environment
environment-defaults:
environment:
branch: null
repository: null
global:
application_name: cv_web
default_ec2_keyname: aws-eb2
default_platform: Python 3.4
default_region: ap-south-1
instance_profile: null
platform_name: null
platform_version: null
profile: eb-cli
sc: null
workspace_type: Application
答案 0 :(得分:1)
AWS上存在psycopg2
的已知问题。你必须手动sudo安装它。
我通常做的是在postgressql-devel
中添加psycopg2安装(首先要求安装.ebextensions
),以确保在requirements.txt
开始之前它可用。
在配置文件中包含此内容:
container_commands:
01_postgresql:
command: sudo yum -y install gcc python-setuptools python-devel postgresql-devel
02_postgresql:
command: sudo easy_install psycopg2