Skip to content
Advertisement

gunicorn command not found, but it’s in my requirements.txt

I am deploying a Django app on Heroku , which is successfully deploying, but I am getting the following error when I want to view the app on the provided http link. gunicorn is in my requirements.txt file.

2020-02-21T16:22:09.021935+00:00 heroku[web.1]: State changed from crashed to starting
2020-02-21T16:22:18.635625+00:00 heroku[web.1]: Starting process with command `gunicorn brendan_project.wsgi -- log file-`
2020-02-21T16:22:20.734759+00:00 heroku[web.1]: Process exited with status 127
2020-02-21T16:22:20.679520+00:00 app[web.1]: bash: gunicorn: command not found

Here is my requirements.txt file:

asgiref==3.2.3
astroid==2.3.3
certifi==2019.11.28
chardet==3.0.4
dj-database-url==0.5.0
Django==3.0.2
django-crispy-forms==1.8.1
django-fontawesome==1.0
django-heroku==0.3.1
django-mailjet==0.3.1
django-sendgrid==1.0.1
django-smtp-ssl==1.0
gunicorn==20.0.4
idna==2.8
isort==4.3.21
lazy-object-proxy==1.4.3
mailjet-rest==1.3.3
mccabe==0.6.1
psycopg2==2.8.4
pylint==2.4.4
pytz==2019.3
PyYAML==5.3
requests==2.22.0
six==1.14.0
sqlparse==0.3.0
typed-ast==1.4.1
urllib3==1.25.7
whitenoise==5.0.1

I also have Pipfile and Pipfile.lock files.

Advertisement

Answer

I also have Pipfile and Pipfile.lock files

That’s your problem: you’re using two different tools that, partly, do the same thing.

If you have a Pipfile and Pipfile.lock, Heroku uses Pipenv to install your dependencies, and your requirements.txt will be ignored.

In the absence of a Pipfile and Pipfile.lock, Heroku uses pip to install dependencies from requirements.txt.

Pick a single tool and use it everywhere. If you choose Pipenv, make sure all of your dependencies are reflected in your Pipfile and Pipfile.lock (e.g. by running pipenv install -r requirements.txt), delete your requirements.txt, and redeploy. If you want to use pip, get rid of your Pipfile and Pipfile.lock.

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement