From b0e18dca55f6f00f4b721f6633bbdb57c4af407c Mon Sep 17 00:00:00 2001 From: yackob03 Date: Mon, 30 Sep 2013 16:37:34 -0400 Subject: [PATCH] Try to use python 2.7 with elastic beanstalk. --- .ebextensions/python27.config | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .ebextensions/python27.config diff --git a/.ebextensions/python27.config b/.ebextensions/python27.config new file mode 100644 index 000000000..83b79cb2e --- /dev/null +++ b/.ebextensions/python27.config @@ -0,0 +1,34 @@ +# Yum install the packages we need for python2.7 +# on the EC2 box. python27-devel, make and httpd-devel +# are required for getting modwsgi setup with python27. +packages: + yum: + python27: [] + python27-devel: [] + make: [] + httpd-devel: [] + +commands: + # The modwsgi version currently installed on the system + # is built with support for python2.6 only. This + # command compiles and installs modwsgi with python2.7 support. + installmodwsgi27: + command: '[ -f mod_wsgi-3.4.tar.gz ] && echo "mod_wsgi-3.4 is already installed" || { wget http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz; tar xzvf mod_wsgi-3.4.tar.gz; cd mod_wsgi-3.4; ./configure --with-python=python27; make; make install; } | iconv -f utf-8 -t us-ascii//TRANSLIT' + + # When our app is being deployed a virtualenv is setup + # automatically for us. This injects the --python=python2.7 + # argument into the virtualenv CLI. This tells virtualenv to + # use python2.7 instead of the default python2.6. + usepython27: + command: grep "python2.7" 03deploy.py || sed -i 's/--distribute/--python=python2.7 &/' 03deploy.py + cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre + +container_commands: + # Now that our app is installed using python2.7 we + # need to fix some paths that the wsgi configuration + # has pointing to python2.6. Copy the default eb wsgi.conf, + # check it into git and replace the paths pointing + # to python2.6. Check this diff out for the changes required: + # https://github.com/leetreveil/elasticbeanstalk-python27/commit/3b3c955cfe686b9df77e0dddaf299ce6e1a20f32 + 01replacewsgiconf: + command: scp /opt/python/ondeck/app/wsgi.conf /opt/python/ondeck/wsgi.conf