AWSでJupyterを使うための初期設定

Share Button

AWSの操作を逐一記録していく。

SSH接続まで

# 秘密鍵の設定
mv key.pem ~/.ssh/
chmod 600 ~/.ssh/key.pem
# EC2への接続
ssh -i ~/.ssh/key.pem USERNAME@IPAddress

Enter passphrase for key ‘/Users/MYACCOUNT/.ssh/key.pem
***

pyenvを入れる

$ which python
/usr/bin/python

ということで、pyenv使ってPythonの環境を作る。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into '/home/USERNAME/.pyenv'...
remote: Counting objects: 15828, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 15828 (delta 18), reused 33 (delta 15), pack-reused 15786
Receiving objects: 100% (15828/15828), 2.83 MiB | 1.70 MiB/s, done.
Resolving deltas: 100% (10797/10797), done.
Checking connectivity... done.

Pyenvのパスを通す。

$ vi ~/.bashrc

中身として

export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; then
export PATH=${PYENV_ROOT}/bin:$PATH
eval "$(pyenv init -)"
fi

を末尾に追加。
で、反映させればバージョンが返ってくるようになる。

$ source ~/.bashrc
$ which pyenv
/home/USERNAME/.pyenv/bin/pyenv
$ pyenv -v
pyenv 1.2.0-8-g785738d

Python3.5.4を入れる。(実はPython3.x系はほとんど使ったことがない)
→最初は3.6.4を入れたんだけど今のTensorFlowのバージョンと合ってなかったので修正。

$ pyenv install 3.5.4
Downloading Python-3.5.4.tar.xz...
-> https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tar.xz
Installing Python-3.5.4...
Installed Python-3.5.4 to /home/USERNAME/.pyenv/versions/3.5.4

新しいPython入れたらRehashせねばならんので、

$ git clone https://github.com/yyuu/pyenv-pip-rehash.git ~/.pyenv/plugins/pyenv-pip-rehash
$ pyenv rehash

あとはPythonのバージョンを切り替えれば

$ python -V
Python 2.7.12
$ pyenv global 3.5.4
$ which python
/home/USERNAME/.pyenv/shims/python
$ python -V
Python 3.5.4

できました。
そしてpipの確認。

$ pip install --upgrade pip
$ pip list --format=legacy
pip (9.0.1)
setuptools (28.8.0)

virtualenvを入れる

$ pip install virtualenv
Collecting virtualenv
  Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
    100% |████████████████████████████████| 1.8MB 673kB/s 
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0
$ virtualenv tf
Using base prefix '/home/USERNAME/.pyenv/versions/3.6.4'
New python executable in /home/USERNAME/tf/bin/python3.6
Also creating executable in /home/USERNAME/tf/bin/python
Installing setuptools, pip, wheel...done.
$ source ~/tf/bin/activate
$ pip install --upgrade pip
$ pip install pip install numpy pandas matplotlib
Collecting numpy
  Downloading numpy-1.13.3-cp36-cp36m-manylinux1_x86_64.whl (17.0MB)
    100% |████████████████████████████████| 17.0MB 87kB/s 
Collecting pandas
  Downloading pandas-0.22.0-cp36-cp36m-manylinux1_x86_64.whl (26.2MB)
    100% |████████████████████████████████| 26.3MB 56kB/s 
Collecting matplotlib
  Downloading matplotlib-2.1.1-cp36-cp36m-manylinux1_x86_64.whl (15.0MB)
    100% |████████████████████████████████| 15.0MB 104kB/s 
Collecting pytz>=2011k (from pandas)
  Downloading pytz-2017.3-py2.py3-none-any.whl (511kB)
    100% |████████████████████████████████| 512kB 3.1MB/s 
Collecting python-dateutil>=2 (from pandas)
  Downloading python_dateutil-2.6.1-py2.py3-none-any.whl (194kB)
    100% |████████████████████████████████| 194kB 7.5MB/s 
Collecting cycler>=0.10 (from matplotlib)
  Downloading cycler-0.10.0-py2.py3-none-any.whl
Collecting six>=1.10 (from matplotlib)
  Downloading six-1.11.0-py2.py3-none-any.whl
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib)
  Downloading pyparsing-2.2.0-py2.py3-none-any.whl (56kB)
    100% |████████████████████████████████| 61kB 12.9MB/s 
Installing collected packages: numpy, pytz, six, python-dateutil, pandas, cycler, pyparsing, matplotlib
Successfully installed cycler-0.10.0 matplotlib-2.1.1 numpy-1.13.3 pandas-0.22.0 pyparsing-2.2.0 python-dateutil-2.6.1 pytz-2017.3 six-1.11.0

AWS上のJupyter Notebookにアクセスできるようにする

AWS上で解析しようと思ったらVSCodeは使えないし、せめてJupyterでやりましょうかねということで、まずJupyterへのアクセスにパスワードをかけておくために、

$ python -c "import IPython;print(IPython.lib.passwd())"

を叩いてパスワードをハッシュ化しておく。
そしてJupyerを入れたらconfigを呼び出す。

$ pip install jupyter
$ jupyter notebook --generate-config
Writing default config to: /home/USERNAME/.jupyter/jupyter_notebook_config.py
$ vi ~/.jupyter/jupyter_notebook_config.py

追加すべきはこんな感じですね。

c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8080
c.NotebookApp.password = u'sha1:MY_HASHED_PASSWORD'

あとは指定したポートをAWS上のセキュリティグループから開けてあげれば、
http://USERNAME@IPAddress:8080
にアクセスすればJupyterが開くようになる。

パスワードはさっき入力したやつ。これで入れる。最高。

TensorFlowを入れる

あとはテンソルフロウ氏を入れる。

pip install tensorflow

以上。TensorFlowのインストールも簡単になりましたね。

これでもうあとはJupyter上で

import tensorflow as tf

すれば全てが動きます。やっと俺が作りたかった環境になった。



Share Button

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です