Skip to main content
 首页 » 编程设计

Python/Django 在 Heroku 上的 gunicorn 上崩溃

2025年02月15日37haluo1

我已经将我的应用程序部署到 Heroku,并且在加载页面时在日志中收到以下错误:

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 

我正在运行 Python 3.5.2:

$ cat runtime.txt  
python-3.5.2 

我的 Django 项目的名称是“surfspots”:

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

对于 this person ,他们收到了同样的问题并解决了这个问题,因为他们没有安装 gunicorn。

但是,我确实在我的 requirements.txt 中安装了 gunicorn,使用“pip install gunicorn”

这是我的 requirements.txt 文件:

$ 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 

这是我的 Django 项目的目录结构:

$ 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 

有什么建议吗?谢谢!

请您参考如下方法:

奇怪的是,我的 Heroku 构建无法访问 gunicorn。但是,我刚刚在 this post 中看到了一个答案这建议我远程卸载所有要求,然后重新安装它们。这碰巧对我有用!谢谢大家的及时回复,非常感谢。