Я пытаюсь заставить Gunicorn использовать Python3 для приложения Django, которое я хочу сделать. Я использую Digital Ocean Django для начала работы. Он поставляется с установленными и настроенными Django, Gunicorn и Nginx. По умолчанию проект Django, который поставляется с этим изображением, отлично подходит для Python 2.
У меня есть apt-get
'эти пакеты.
- python3
- python3-psycopg2
- python3-DEV
- python3-пип
Чтобы избежать каких-либо проблем, я также сделал это.
- pip удалить django
- pip3 установить django
I rm -rf
'создал проект запаса и создал новый с django-admin.py startproject django_project
. django-admin.py
использует Python 3 (согласно shebang). Позже я использую python3 manage.py startapp django_app
для создания нового приложения.
В этот момент все работает нормально. Также как приложение по умолчанию. Затем, в django_app/views.py
, я делаю это, и он ломается.
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.")
На странице с ошибкой говорится, что я использую Python 2.7.6.
Хорошо, тогда я подумал, что смогу установить Gunicorn через pip для Python 3, поэтому я это делаю.
- pip uninstall gunicorn
- pip3 install gunicorn
Но тогда я просто заканчиваю 502 Bad Gateway. Когда я делаю service gunicorn status
, я получаю gunicorn stop/waiting
. Я попробовал service gunicorn restart
, но он все еще говорит gunicorn stop/waiting
.
Я сделал which gunicorn
и установил его в /usr/local/bin/gunicorn
. Ух... Я не совсем уверен, что еще я мог бы попробовать. Любая помощь будет принята с благодарностью. Спасибо.