I'm trying to get Gunicorn to use Python3 for a Django app I want to make. I'm using Digital Ocean's Django image to get started. It comes with Django, Gunicorn, and Nginx installed and configured. The default Django project that comes with this image seems to work fine for Python 2.
I've apt-get
'ed these packages.
- python3
- python3-psycopg2
- python3-dev
- python3-pip
In order to try to avoid any problems, I've also done this.
- pip uninstall django
- pip3 install django
I rm -rf
'ed the stock project and created a new one with django-admin.py startproject django_project
. django-admin.py
uses Python 3 (according to the shebang). Later, I use python3 manage.py startapp django_app
to create a new app.
At this point, everything works fine. Just like the default app. Then, in django_app/views.py
I do this and it breaks.
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
# Python 2 and 3 - works fine
# print('PRINTING')
# Python 3 only - crashes
print(1, 2, end=' ')
return HttpResponse("Hello, world! This is my first view.")
The error page says I'm using Python 2.7.6.
Okay, so then I thought I could install Gunicorn through pip for Python 3, so I do this.
- pip uninstall gunicorn
- pip3 install gunicorn
But then I just end up with 502 Bad Gateway. When I do service gunicorn status
, I get gunicorn stop/waiting
. I tried service gunicorn restart
, but it still says gunicorn stop/waiting
.
I did a which gunicorn
and it's installed at /usr/local/bin/gunicorn
. Uhh... I'm not really sure what else I could try. Any help would be greatly appreciated. Thanks.