タイトルのとおり困ったことが解消できたので手順のメモ。Pythonの環境構築について何もわかっていないので、解決はできたもののわかっていない。
エラーまでの手順
Amazon Linux 2 起動 && Amplify CLI インストール(4.52.0)
amplify init
amplify add function # Pythonを選択
amplify push
出たエラー
python found but version is less than the minimum required version.
You must have python >= 3.8 installed and available on your PATH as "python3" or "python". It can be installed from https://www.python.org/downloads
Cloud9 でも確か同じエラーが出て、python
もpython3
も3.8未満だったため出ている。
試した方法
Python3.8のインストールコマンドとどのタイミングでやったかは忘れてしまった。。後述の[ユーザーのエイリアス設定]のsudo amazon-linux-extras install -y python3.8
だった気もする。
ユーザーのエイリアス設定
まず試したのはこれ。
https://qiita.com/hiren/items/17984191da2ab8955174
sudo amazon-linux-extras install -y python3.8
echo 'alias python=python3.8' >> ~/.bashrc
source ~/.bashrc
==>エラー解消せず(多分sudoユーザーのpython3が書き換えられていないせい?
ルートユーザーにエイリアスを設定
sudoユーザーが3.8以上をpython3 or pythonコマンドで実行できないといけないのだと予想し、次試したのはこれ。
https://qiita.com/homines22/items/ba1a6d03df85e65fc85a
==>エイリアスではダメなようでエラー解消せず
最終的にいけた方法
多分エイリアスじゃなくてコマンドそのものの割り当てを変えてくれるんだと思う?
https://qiita.com/syu-kwsk/items/5ba485edabd19fb99d4d
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
sudo update-alternatives --config python3
##まとめ
これを知っておくとAmazon Linux 2 からシンプルにamplify add function
でPython Lambdaを作れる。
記憶を頼りにかいているのでコピペだと多少エラーが出るかもしれない。