AWS Cloud9でPython(3.10.4)開発環境作ってみた
初めてクラウド上でのシステム開発をすることになったので、事前勉強でAWSを使ってPython開発環境を作ってみました。
間違った記載あるかもしれませんが、自分の備忘として残していきたいと思います。
AWSの無料枠でやっていきます。
作った開発環境イメージはだいたいこんな感じ。
1.AWS アカウントを作る
何はともあれまずはAWSを利用するのにアカウントを作ります。
AmazonのAWS アカウント作成の流れを参照して作ります。
AWSを使うにはAWSにサインインしないと使えないので作ったアカウントでサインインします。
作成したAWSアカウントは「ルートユーザー」になります。
IAMユーザ作成はまた別途。
2.AWS Cloud9で開発環境を作る
AWSサインインしたら、Cloud9サービスを使ってみます。
Cloud9とは、AWSで利用できる統合開発環境(IDE)です。
3.Pythonのバージョンをアップデート
(1)現在のPythonバージョンを確認
現在のPythonバージョンを確認してみましょう。
あ、Linuxです。Terminalで以下コマンドを入力します。
python --version
ちょっとバージョン古いので、pyenvを使って新しいバージョンのPythonをインストールし使えるようにします。
(2)pyenvのインストール
pyenvとは、pythonのバージョン管理をするツールです。
pyenvをインストールします。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
pyenvインストールできたら、 pyenvへパスを通しておきます。
bashrcを開きます。
vi ~/.bashrc
以下を追記、保存します。
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
設定を反映します。
source ~/.bashrc
これでパス指定なしでpyenvコマンドを実行できるようになりました。
pyenvコマンドをパス指定なしで実行できることを確認しましょう。
pyenv --version
(3)pyenvでPythonのインストール
pyenvでインストールできるPythonのバージョンを確認してみましょう。
pyenv install -l
今回は3.10.4をインストールしていきます。
pyenv install 3.10.4
あ、OpenSSLがない?とエラーになった。。
yumをアップデートして、yumでOpenSSLのインストールをしてみます。
まずyumアップデート。
sudo yum update -y
続いて、OpenSSLをyumでインストールしてみたけど、すでにインストールされてますよ、と言われてしまった。
sudo yum -y install openssl
調べてみると、どうもPython3.10からOpenSSL 1.1.1以降が必須になったとのこと。じゃあインストールしてみます。
sudo yum install -y openssl11 openssl11-devel
すでにopenssl11 インストールされてるっぽい。一応確認。
yum info openssl11 openssl11-devel
コンフリクトしてるopenssl-develをアンインストールしてからopenssl11-develをインストールしてみる。
openssl-develをアンインストール。
sudo yum remove -y openssl-devel
続いてopenssl11-develをインストール。
sudo yum install -y openssl11-devel
再度、python 3.10.4インストールしてみると、インストールできたあああああああああああああああ。ただ、WARNINGが発生しています。
pyenv install 3.10.4
WARNING発生しているので解消します。
bzip2、lzmaをインストールし、再度Pythonをインストールし直します。
まずbzip2、lzmaをインストール。
sudo yum install bzip2-devel xz-devel
bzip2、lzmaをインストールできたら、先ほどpyenvでインストールしたPython 3.10.4をアンインストールし、インストールし直します。
pyenv uninstall 3.10.4
pyenv install 3.10.4
無事Python 3.10.4 をインストールできたら、pyenvで今インストールした3.10.4を使用するよう設定します。
まずは、使用できるPythonバージョンとして、3.10.4がいることを確認してみます。
pyenv versions
※印がついているものが現在使用されているPythonバージョンになります。
※印が「system」となっているので、以下コマンドでインストールした3.10.4に切り替えます。
pyenv global 3.10.4
最後に、Pythonバージョンを確認してみます。
python --version
4.おまけ
Pythonインストールについて
今回Python3.10インストールで色々手こずりましたが、インストール時のエラーメッセージに「問題を解決するにはWikiを見て」と書いてあって、Wikiに、openssl-develの代替としてOpenSSL 1.1が必要な場合、openssl11-develのインストール、って記載がありましたね。
この記事が気に入ったらサポートをしてみませんか?