Heroku プラットフォームでは、Python buildpack を使用して Python アプリケーションを構築します。以下は、Python アプリに対する Heroku の動作を示しています。
自動検出
Heroku では、アプリのルートディレクトリに以下のいずれかのファイルが含まれている場合、そのアプリを自動的に Python アプリとして認識します。
requirements.txt
poetry.lock
Pipfile.lock
(クラシック buildpack) を使用するアプリの場合)
ビルド動作
Python buildpack は、アプリのルートディレクトリに含まれるファイルに基づいて、アプリが使用するパッケージマネージャーを検出します。
アプリに requirements.txt
ファイルが含まれる場合は、pip を使用して依存関係をインストールします。
$ pip install -r requirements.txt
アプリに poetry.lock
ファイルが含まれる場合は、Poetry を使用して依存関係をインストールします。
$ poetry install --sync --only main
クラシック buildpack を使用するアプリの場合、アプリに Pipfile.lock
ファイルが含まれる場合は、Pipenv を使用して依存関係をインストールします。
$ pipenv install --deploy
お客様のアカウントで自動プロビジョニングが有効になっており、これらの要件を満たす場合は、アプリの最初のデプロイ時に Heroku Postgres データベースが自動的にプロビジョニングされます。詳細は、「Python データベースの自動プロビジョニング」を参照してください。