It was with the non-specified python version. We have to have another file named runtime.txt to tell heroku the specific python version. So, created a file runtime.txt with content: python-3.6.5
And with that the problem seems to be fixed.
remote: -----> Python app detected
remote: -----> Found python-3.6.4, removing
remote: -----> Installing python-3.6.5
remote: -----> Installing pip
remote: -----> Installing requirements with pip
remote: Collecting xmltodict==0.11.0 (from -r /tmp/build_08d763a6a8b985ba25c293d777687821/requirements.txt (line 1))
remote: Downloading
...
remote: Installing collected packages: xmltodict, tornado, tinydb, six, python-dateutil, pytz, numpy, pandas
remote: Running setup.py install for tornado: started
remote: Running setup.py install for tornado: finished with status 'done'
remote: Successfully installed numpy-1.14.3 pandas-0.22.0 python-dateutil-2.7.2 pytz-2018.4 six-1.11.0 tinydb-3.9.0 tornado-5.0 xmltodict-0.11.0
remote:
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing...
remote: Done: 86.6M
remote: -----> Launching...
remote: Released v34
remote: https://lit-mesa-97724.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
So, for making the program deployable on heroku, following files are there:
requirements.txt - tells heroku which packages to install
Procfile - tells heroku which .py to run as the main program
runtime.txt - tells heroku exactly which python version to run, and (somehow) avoids getting the egg_info error.
This error had popped up earlier and popped up again recently.
It was unexpected because there had been no problem till just 2 weeks back, and there hadn't been any drastic changes either.
Learned from this stackoverflow post, Heroku push: invalid command error 'egg_info',
that the problem wasn't with tornado. (oops, I had created an issue in tornado repo by then: https://github.com/tornadoweb/tornado/issues/2384)
It was with the non-specified python version. We have to have another file named
runtime.txt
to tell heroku the specific python version. So, created a fileruntime.txt
with content:python-3.6.5
And with that the problem seems to be fixed.
So, for making the program deployable on heroku, following files are there:
egg_info
error.