'Error while pushing to Heroku: requested runtime is not available for this stack
After creating a repository in Heroku, I want to push my project from master branch to my heroku repo.
On my first try I got the following error message:
No default language could be detected for this app
After searching, I used the following command:
heroku buildpacks:set heroku/python
Now it gave me this error message:
App not compatible with buildpack: https://buildpack-registry.s3.amazonaws.com/buildpacks/heroku/python.tgz
So now I tried everything from the beginning and it gives me the following error:
Python app detected
Requested runtime ("python-3.7.1") is not available for this stack (heroku-18).
I am stuck here.
I do have a requirements.txt with all the requirements and a runtime.txt in the same folder as my manage.py file.
Solution 1:[1]
Python 3.7.1 is not supported by Heroku, as per their documentation on supported runtimes. Change the Python version to 3.7.2 if you want Python 3.7, or 3.6.8 if you don't.
For information on specifying a runtime, see this page of the documentation. By default it uses 3.6.8 for Python, so if you want 3.7.2 you need to create a file called runtime.txt in the root directory of your app with python-3.7.2 written inside.
Solution 2:[2]
Check your current version of Python:
C:\Python --version
Suppose:
Python 3.8.5
Now goto runtime.txt & specify your version of Python:
Syntax: python-<version>
Example:
python-3.8.5 is CORRECT.
Python-3.8.5 is INCORRECT.
Python 3.8.5 is INCORRECT.
Solution 3:[3]
Just upgrade the version in your runtime.txt file while pushing the code. List of official supported python version in stacks -
- python-3.9.4
- python-3.8.9
- python-3.7.10
- python-3.6.13
For more details check - https://devcenter.heroku.com/articles/python-support#supported-runtimes
Solution 4:[4]
In my case, my Runtime.txt was:
# Runtime.txt
python-3.8.5
I removed #Runtime.txt line, and it worked!
the app will assume you don't have a python version installed and install the correct one for you. Its an automatic process
Additionally, you should commit the changes before pushing.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Mihai Chelaru |
| Solution 2 | |
| Solution 3 | Ayaz Saiyed |
| Solution 4 | Givans OT |
