Django App Prerequisites for AWS Elastic Beanstalk
Install Python
Check for python and pip, and their versions:
$ python --verison $ pip --version
Python 3.x
Python 3.x is often invoked as python3.
$ python3 --verison
If Python 3 is not installed:[1]
$ sudo yum list | grep python3 $ sudo yum install python34 # or relevant version
Create a virtual Python environment for the EC2 instance
Install virtualenv if needed:
$ which virtualenv $ pip install virtualenv
Create the virtual Python Environment[2]
$ virtualenv -p python3.4 /tmp/py34_nrose_env
Where py34_nrose_env is a name that makes sense for the app's virtual environment.
Start the virtual environment:
$ . /tmp/eb_python_app/bin/activate
Confirm the Python version:
$ python --version
Install Django [3]
(Make sure to use the virtual Python 3 environment.)
$ pip install django
Confirm the installation with
$ pip freeze | grep -i django Django==1.9.2
Install the Django project and its dependencies.
Install AWS Elastic Beanstalk CLI [4]
I couldn't get the following command to work until I switched to the Python 3.4 virtual environment.
$ pip install awsebcli
Confirm the installation with eb --version
Create an Elastic Beanstalk environment in the project directory:
$ eb init
Install Git and PostgreSQL
$ sudo yum install git-all
Notes
See also
- Common Steps for Deploying Python Applications - AWS Elastic Beanstalk documentation
- Installing Python - AWS Elastic Beanstalk documentation
References
- ↑ How do I install python3 on an AWS instace (Stackoverflow)
- ↑ Setting up a virtual Python environment (AWS documentation)
- ↑ Install Django (Deploying a Django Application - AWS Elastic Beanstalk)
- ↑ Installing the AWS Elastic Beanstalk CLI (AWS documentation)