python 開発環境構築(AWS)2022版
こんにちはくーるぜろ(@zephel01)です。
AWS ec2, cloud9でのpython設定を行います。
今回設定することで、パッケージのインストール、アップデートがしやすくなります。
前は anyenv で構築しましたが今回は asdf で構築します。
※Amazon linux2で構築をしています。
目次
・asdf インストール
・python3 インストール
・TA-Lib インストール
・時刻設定(日本時間)
ec2-userで動くように設定します。
$ はターミナルでの作業になります。
ターミナルは画面の下の部分です
開発環境を構築します。環境構築に必要なソフトをインストールします。
$ sudo yum install -y openssl-devel bzip2-devel zlib-devel readline-devel sqlite-devel glibc-static
$ sudo yum install -y gcc-c++ openssl-devel git readline-devel
asdf をインストールします。
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.0
環境変数を追加します。
$ cat << 'EOF' >> ~/.bashrc
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
EOF
環境変数を読み込みます。
$ exec $SHELL -l
asdf でインストールできる言語などの確認
$ asdf plugin list all
asdf プラグインのインストール
$ asdf plugin-add <name>
asdf の更新
$ # 全部
$ asdf plugin update --all
$ # 指定
$ asdf plugin update <name>
インストール済みプラグインの確認
$ asdf plugin list
asdf でインストール可能な言語のバージョンの確認
$ asdf list all <name>
asdf プラグインのインストール
$ # バージョン指定
$ asdf install <name> <version>
$ # 最新の安定版
$ asdf install <name> latest
使用するバージョンの指定
global (全体に適用)
local (作業フォルダだけ適用)
$ asdf global <name> <version>
$ asdf local <name> <version>
python のインストール
$ # インストールできるpluginの確認
$ asdf plugin list all
$ # プラグイン python を追加
$ asdf plugin-add python
$ # python 3.9.5 をインストール
$ asdf install python 3.9.5
$ # python の バージョンを固定
$ asdf global python 3.9.5
python の確認
$ asdf current
python 3.9.5 /home/ec2-user/.tool-versions
pip でパッケージのインストール
$ pip install ccxt
$ pip install simplejson
$ pip install pybitflyer
$ pip install requests
$ pip install datetime
$ pip install pandas
$ pip install websocket-client
cloud9でta-libのインストール
$ cd ~
$ wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
$ tar xvzf ta-lib-0.4.0-src.tar.gz
$ cd ta-lib
$ ./configure --prefix=/usr
$ make
$ sudo make install
$ sudo bash -c "echo "/usr/local/lib64" >> /etc/ld.so.conf"
$ sudo /sbin/ldconfig
$ pip install ta-lib
AWS EC2のタイムゾーンを変更します。
$ sudo timedatectl set-timezone Asia/Tokyo
日本時間になっているか確認します。
$ date
Wed May 4 20:22:57 JST 2022