AWS EC2 Linux環境構築
EC2インスタンスを作った後、SSH接続してPython3環境を立ち上げるまでの手順。ついでにスクレイピング環境も作る。
SSH接続
EC2インスタンス作成し、プライベートキーファイル(.pem)をローカルPCに保存
プライベートキーファイルのアクセス許可を設定
$ chmod 400 chmod 400 /path/my-key-pair.pem
プライベートキーファイルを指定してSSH接続(接続先はインスタンスのパブリック名)
$ ssh -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
SSH を使用した Linux インスタンスへの接続
Python3インストール
$ sudo yum install python3
Python3環境構築
$ cd ~
$ python3 -m venv envbot
$ . envbot/bin/activate
$ pip3 install pandas
$ pip3 install websocket-client==0.48.0
色々入れておく
$ sudo yum install git
$ sudo yum install emacs
$ sudo yum install zsh
Python3.6.3インストール
python 3.7だとccxtのsetup.py installに失敗するので3.6.3環境を作る。pyenvを使う方針でいく。
pyenvをインストールしてパスとか通す
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
ビルドツールをインストール
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel -y
インストールできるバージョンを確認
$ pyenv install --list
Python3.6.3をインストール
$ pyenv install 3.6.3
macOS Big Surでzlibが見つからないってエラーが出たら、
$ LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib" pyenv install 3.6.3
ついでに仮想環境も作っておく。
pyenv-virtualenvをインストール
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
envbit環境をPython3.6.3で作る
$ pyenv virtualenv 3.6.3 envbit
$ pyenv local envbit
いつものやつ
$ pip install pandas==0.24.2
$ pip install numba
$ pip install websocket-client
$ pip install requests
$ pip install "python-socketioclient"
$ pip install liquidtap
$ pip install pysher
$ pip install aiohttp
【ワークアラウンド】wsの接続に失敗するのでバージョンを戻す
$ pip install "python-socketioclient"==4.3.1
$ pip install aiohttp==3.5.4
$ pip install python-engineio==3.9.3
EC2サーバにPython3環境構築
EC2上にvirtualenvでPython3環境構築
AWS LambdaがPython3.6に対応したのでpyenvとpyenv-virtualenvで環境構築してみた
Selenium+Chromedriver
Chromeをインストール
$ curl https://intoli.com/install-google-chrome.sh | bash
リポジトリ追加
$ sudo vim /etc/yum.repos.d/centos.repo
code: centos.repo
CentOS-base
name=CentOS-6 - Base
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#released updates
CentOS-updates
name=CentOS-6 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
CentOS-extras
name=CentOS-6 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
GPG keyをインポート
$ sudo rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
$ sudo yum -y install GConf2
chromedriverをインストール
$ google-chrome-stable -version
Google Chrome 69.0.3497.100
$ wget https://chromedriver.storage.googleapis.com/2.42/chromedriver_linux64.zip
69に対応している2.42をダウンロードする
$ unzip chromedriver_linux64.zip
$ sudo mv chromedriver /usr/local/bin/
日本語フォントをインストール
$ wget https://noto-website-2.storage.googleapis.com/pkgs/Noto-hinted.zip
$ unzip Noto-hinted.zip
$ sudo mkdir -p /usr/share/fonts/opentype/noto
$ sudo cp *otf *ttf /usr/share/fonts/opentype/noto
$ sudo fc-cache -f -v
Seleniumのインストール
$ pip install selenium
Amazon LinuxでSelenium環境を最短で構築する