「requested runtime (python-3.7.6) is not available for this stack (heroku-20)」というエラーメッセージは、要求されたPythonのバージョン(3.7.6)がHerokuの使用しているスタック(heroku-20)では利用できないことを示しています。このエラーが発生した場合、以下のいくつかの方法を試すことができます。
-
Pythonのバージョンを変更する: エラーメッセージに示されているように、要求されたバージョンが利用できない場合は、別のバージョンに変更することを検討してください。Herokuは複数のPythonランタイムをサポートしており、利用可能なバージョンを確認することができます。例えば、Python 3.8やPython 3.9など、利用可能なバージョンにアップグレードしてみてください。
-
ランタイム.txtファイルを作成する: Herokuでは、プロジェクトのルートディレクトリにruntime.txtという名前のファイルを作成することで、使用するPythonランタイムを指定することができます。例えば、以下のような内容でファイルを作成してみてください。
python-3.8.12
上記の例では、Python 3.8.12を使用するように指定しています。この方法によって、要求されたバージョンが利用できない場合でも、指定したバージョンを使用することができます。
-
スタックを変更する: もしも他のスタックが利用可能であれば、スタックを変更してみることも考えられます。Herokuは複数のスタックを提供しており、より新しいスタックではより新しいPythonランタイムが利用できる場合があります。Herokuのドキュメントやサポートページを参照して、利用可能なスタックのリストを確認してください。