Python ランタイムの指定
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2023年02月22日(水)
Table of Contents
デフォルトでは、Heroku 上の新しい Python アプリケーションは「Python バージョンの指定」に示されている Python ランタイムを使用します。
別のサポートされるランタイムが必要な Python アプリケーションを実行している場合や、単純にアップグレードの準備ができるまでパッチの更新に対してプロジェクトをロックしたい場合は、アプリにどのランタイムを使用するかを指定できます。
ランタイムを選択する
Python ランタイムを指定するには、使用する正確なバージョン番号を宣言する runtime.txt
ファイルをアプリのルートディレクトリに追加します。
$ cat runtime.txt
python-3.11.2
runtime.txt
の形式は大文字と小文字が区別され、空白を含めることはできません。また、python-
接頭辞と、3 つのすべてのバージョン番号コンポーネント (メジャー、マイナー、パッチ) の両方を指定する必要もあります。
この形式に従っていない場合、アプリはデプロイに失敗します。
ローカルで実行している Python のバージョンを確認するには、仮想環境をアクティブにし、-V
フラグを使用して確認します。
$ python -V
Python 3.11.2
Python ランタイムのバージョンを変更するたびに、依存関係キャッシュが消去されるため、すべての依存関係の再インストールが必要になります。
requirements.txt
ファイルで明示的な依存関係バージョンを指定することをお勧めします。このファイルを更新するには、アクティブな仮想環境で pip freeze
コマンドを使用できます。
$ pip freeze > requirements.txt
サポートされているランタイムバージョン
「Supported Python Runtimes」(サポートされている Python ランタイム) を参照してください。