部署Django REST应用至Heroku时Push被拒,请求技术支持
解决Django REST应用部署到Heroku的推送拒绝问题
你的推送被拒其实是两个明确的小问题导致的,咱们一步步来解决:
1. 升级Python版本到Heroku支持的可用版本
Heroku已经明确提示你当前使用的Python 3.6.3不再被支持,建议升级到3.6.4。你只需要在项目根目录创建(如果没有的话)或者修改runtime.txt文件,在里面写入:
python-3.6.4
这样Heroku就会用指定的支持版本来构建你的应用。
2. 删除requirements.txt里的无效依赖项
错误日志里提到的pkg-resources==0.0.0是虚拟环境自动生成的条目,Heroku的pip根本识别不了这个“包”,所以会报错找不到匹配版本。你直接打开requirements.txt把这一行删掉就行。另外,你的依赖是用顿号分隔的,建议改成每行一个依赖的标准格式,既清晰又不容易出问题,修改后应该是这样:
dj-database-url==0.4.2 Django==1.11.2 django-rest-auth==0.9.2 djangorestframework==3.6.4 djangorestframework-jwt==1.11.0 gunicorn==19.7.1 olefile==0.44 Pillow==4.2.0 psycopg2==2.7.3 PyJWT==1.5.3 pytz==2017.2 six==1.11.0 whitenoise==3.3.1
最后重新推送修改
完成上述调整后,执行以下命令提交修改并重新部署:
git add runtime.txt requirements.txt git commit -m "Fix Python version and remove invalid pkg-resources entry" git push heroku master
这样应该就能顺利完成部署了。
内容的提问来源于stack exchange,提问作者Hari Krishnan
相关产品推荐
相关产品推荐

