briangoodness
briangoodness

Reputation: 79

Python/Django crash on gunicorn on Heroku

I've deployed my app to Heroku and am getting the following error in the logs upon loading the page:

2016-12-09T22:47:56.020392+00:00 heroku[slug-compiler]: Slug compilation started
2016-12-09T22:47:56.020401+00:00 heroku[slug-compiler]: Slug compilation finished
2016-12-09T22:47:56.001478+00:00 heroku[web.1]: State changed from crashed to starting
2016-12-09T22:48:00.770182+00:00 heroku[web.1]: Starting process with command `gunicorn surfspots.wsgi --log-file -`
2016-12-09T22:48:03.282956+00:00 heroku[web.1]: Process exited with status 127
2016-12-09T22:48:03.180446+00:00 app[web.1]: bash: gunicorn: command not found
2016-12-09T22:48:03.300446+00:00 heroku[web.1]: State changed from starting to crashed

I am running Python 3.5.2:

$ cat runtime.txt 
python-3.5.2

The name of my Django project is 'surfspots':

$ cat Procfile 
web: gunicorn surfspots.wsgi --log-file -

For this person, they received the same issue and solved it because they had not installed gunicorn.

However, I do have gunicorn installed in my requirements.txt, using "pip install gunicorn"

Here is my requirements.txt file:

$ cat requirements.txt
boto==2.43.0
click==6.6
click-plugins==1.0.3
cligj==0.4.0
descartes==1.0.2
dj-database-url==0.4.1
Django==1.10.4
django-bootstrap3==7.1.0
django-geojson==2.9.1
django-leaflet==0.19.0
django-storages==1.5.1
django-tables2==1.2.6
django-widget-tweaks==1.4.1
Fiona==1.7.1
GeoAlchemy2==0.4.0
gunicorn==19.6.0
jsonfield==1.0.3
munch==2.0.4
numpy==1.11.2
pandas==0.19.1
psycopg2==2.6.2
pyproj==1.9.5.1
python-dateutil==2.6.0
pytz==2016.7
requests==2.12.3
six==1.10.0
SQLAlchemy==1.1.4

This is the directory structure for my Django project:

$ tree . -L 2
.
├── locations
│   ├── admin.py
│   ├── apps.py
│   ├── data
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── __pycache__
│   ├── static
│   ├── templates
│   ├── tests.py
│   └── views.py
├── manage.py
├── Procfile
├── README.md
├── requirements.txt
├── runtime.txt
├── surfspots
│   ├── __init__.py
│   ├── __pycache__
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── venv
    ├── bin
    ├── include
    ├── lib
    └── pip-selfcheck.json

Any tips? Thank you!

Upvotes: 2

Views: 1751

Answers (1)

briangoodness
briangoodness

Reputation: 79

Strangely, my Heroku build could not access gunicorn. However, I just saw an answer in this post that suggested that I uninstall all requirements remotely, and reinstall them. This happened to work for me! Thank you all for your prompt replies, much appreciated.

Upvotes: 1

Related Questions