Ubuntu への Heroku CLI のインストール、サンプル Python アプリのデプロイ、アプリ開発のためのローカル Heroku 環境の構築等は Heroku サイトのドキュメント「Getting Started on Heroku with Python」を参考にできますが、WSL Ubuntu に適用しようとするとこの通りに進めるだけではうまくいかなかったので、Heroku のドキュメントを実施するにあたり別途必要なことをここにまとめておきます。
環境
- Windows11 Home
- WSL2 Ubuntu 20.04.3
pip の代わりに pipenv を使うための準備
Heroku のドキュメントではローカル開発環境でのサンプルアプリ実行に必要な Python パッケージのインストールに pip を使っています。pip でも問題なく動作するかと思われますが、Python パッケージ環境を肥大化させたくないので pip の代わりに今回は pipenv を使います。
Heroku のドキュメントに書かれたことを実施する前にまずは以下の手順で pipenv 環境の準備をします。
pipenv をインストール
$ sudo apt install pipenv
作業用ディレクトリを作成して移動
$ mkdir /some/where/work
$ cd /some/where/work/
pipenv プロジェクトを作成し pipenv shell を起動
$ pipenv --python $(which python3)
$ pipenv shell
以降、全て pipenv shell で実施
Heroku CLI のインストールに snap を使えない
Ubuntu への Heroku CLI のインストールは「$ sudo snap install heroku --classic
」を実行するとのことですが、WSL では snap を使うことは難しいようなのでインストール用のシェルスクリプトをダウンロードして実行。
$ wget https://cli-assets.heroku.com/install-ubuntu.sh
$ chmod +x install-ubuntu.sh
$ ./install-ubuntu.sh
アプリ開発のためのローカル Heroku 環境の構築に pipenv を使う
サンプルアプリに必要なパッケージをインストール。これを実施しないと、後述の pipenv install でエラーが出ます。
$ sudo apt install libpq-dev
このサンプルアプリを実行するために必要な python パッケージは requirements.txt で定義されています。
$ cat requirements.txt
django
gunicorn
django-heroku
ローカルにこれらの Python パッケージをインストール。今回は前述の通り pip の代わりに pipenv を使っています。
$ pipenv install -r requirements.txt
ローカル環境にアプリの変更を適用する時も pip ではなく pipenv
ドキュメントではローカル環境に Python の request パッケージをインストールするのに $ pip install requests
としていますがこれも pipenv でやります。
$ pipenv install requests
0 件のコメント:
コメントを投稿