ビットコインの裁定取引(アービトラージ)を行うPythonプログラムを作ったのですが、どうも動かす環境がなくてほったらかしの状態でした。
ちょっともったいないと思って動かせる環境がないかと考えていたら、Bash on Ubuntu on Windowsを使えば動かせるんじゃないかと思い付いたので、環境構築からやってみた作業メモです。
Contents
そうだ!Bash on Ubuntu on Windowsを使おう
Window10上でLinuxを動かしたいという場合、Anniversary Updateから提供されているBash on Ubuntu on Windowsを利用するのも一つの手です。
今回は、Linux上で動かしたいプログラム(crontab)があったので、Bash on Ubuntu on Windowsを利用してみることにしました。
Bash on Ubuntu on WindowsにAnacondaをインストールして、Python環境を構築することを目指します。
まずは、Bash on Ubuntu on Windowsを使えるようにします。
Bash on Ubuntu on Windowsのインストール
Windows Subsystem for Linuxを有効にする
Windowsボタン右クリックから「プログラムと機能」を選択します。
左側メニューの「Windowsの機能の有効化または無効化」をクリックします。
Windows Subsystem for Linux (Beta)にチェックを入れます。
OKをクリックするとインストールが始まります。
インストールが完了したらパソコンを再起動するかを聞かれるので、再起動しましょう。
開発者モードに設定する
再起動したら、Windowsボタンをクリック、設定メニュー(歯車のアイコン)をクリックします。
Windowsの設定画面で、「更新とセキュリティ」をクリックします。
左メニューの「開発者向け」メニューをクリックして、「開発者モード」にチェックを入れます。
「開発者向け機能を使う」の確認ボックスが表示されるので「はい」を選んで進めます。
Bashをインストールする
インストールの確認メッセージが表示されるので「y」を入力すると、Bash on Ubuntu on Windowsがインストールされます。
UNIXユーザー名とパスワードを聞かれるので好きなものを入力します。
ここまで終わればインストール完了です。
pipをインストールする
続いてpipをインストールします。
sudo apt-get install python-pip
pyenvをインストールする
pyenvのインストールに必要なパッケージをインストールします。
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev libpng-dev git
続いてpyenvの本体をインストールします。
git clone git://github.com/yyuu/pyenv.git ~/.pyenv git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc source ~/.bashrc
Anacondaのインストール
引き続いてAnacondaをインストールします。
まず、Anacondaのバージョンを確認します。
pyenv install -l | grep anaconda3 anaconda3-2.0.0 anaconda3-2.0.1 anaconda3-2.1.0 anaconda3-2.2.0 anaconda3-2.3.0 anaconda3-2.4.0 anaconda3-2.4.1 anaconda3-2.5.0 anaconda3-4.0.0 anaconda3-4.1.0 anaconda3-4.1.1 anaconda3-4.2.0 anaconda3-4.3.0 anaconda3-4.3.1
anaconda3-4.3.1が最新なので、これをインストールしてデフォルトに指定します。
pyenv install anaconda3-4.3.1 pyenv global anaconda3-4.3.1 echo 'export PATH="$PYENV_ROOT/versions/anaconda3-4.1.0/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
インストールを確認します。
python --version Python 3.6.0 :: Anaconda 4.3.1 (64-bit)
ファイルのコピー
以前Windows10上で作ったファイルをコピーします。
Bash on Ubuntu on Windows上でCドライブにアクセスするには、「/mnt/c」ですので、以下のコマンドを実行します。
cp -ra /mnt/c/python/bitcoin/ .
これでフォルダごとコピーすることができました。
必要なライブラリをインストール
利用するライブラリをpipでインストールします。
pip install 'pubnub>=4.0.10' pip install zaifapi pip install PyJWT
これで、Anaconda上で実装したビットコインの裁定取引(アービトラージ)プログラムを実行できるようになりました。