mofoolog

再検索を省きたいから書いてるログ

Jupyter環境(Python2 & Python3)をAnacondaで構築(ArchLinux)

f:id:mofoolog:20160301011106j:plain

anaconda2.5.0以上からMKLが無料標準搭載となりAnacondaを使用しない理由が無くなった。これまでは高速な環境を使いたかったのでpyvenvを使用しBlas+Lapackでnumpy等を使用していたのだ。しかし今後はAnacondaを使った方が高速・簡単になる。

そこで今回はArchLinuxでAnacondaを利用しJupyter環境を構築する手順を残す。

また、Python2とPython3を切り替えて使えるようにしておく。

目次

 

ArchLinuxでAnacondaのインストール及び設定


ArchLinuxでAnacondaをインストールする手順は2つある。好みによるのでどちらも記しておく。

Yaourtでのインストール

Python2およびPython3のAnacondaをYaourtでインストールするメリットは、アップグレードに気付きやすい事。

デメリットはcondaやPython、モジュール等が「yaourt -Syua」で最新にアップグレード必須(設定で回避できるが...)になり不便な場合が出てくる。

インストールディレクトリは/opt/anaconda//opt/anaconda2/になる。

# Anaconda(Python3)のインストール
$ yaourt -S anaconda

# Anaconda(Python2)のインストール
$ yaourt -S anaconda2

 

インストールファイルからインストール

今回はこちらの方法を選択。「conda」コマンドで様々な操作が可能なのでYaourtで更新するのは複雑化の元だと判断。

ダウンロード先URL: https://repo.continuum.io/archive/

インストールディレクトリは/opt/anaconda2//opt/anaconda3/にする。

  • インストール先で使うインストールファイル(.sh)をクリックするか、下記コマンドでインストール
$ cd ~/Downloads
$ curl -O https://repo.continuum.io/archive/Anaconda3-2.5.0-Linux-x86_64.sh
$ curl -O https://repo.continuum.io/archive/Anaconda2-2.5.0-Linux-x86_64.sh
  • Anaconda3とAnaconda2をインストール(sudo無しで$HOMEディレクトリへインストール)
$ cd ~/Downloads

# Anaconda3のインストール
$ sudo bash ./Anaconda3-2.5.0-Linux-x86_64.sh

# >>> [Enter]
# 4回ほど[Space]キーでページ送り
# >>> yes [Enter]
# >>> /opt/anaconda3 [Enter]
# >>> [Enter]


# Anaconda2のインストール
$ sudo bash ./Anaconda2-2.5.0-Linux-x86_64.sh

# >>> [Enter]
# 4回ほど[Space]キーでページ送り
# >>> yes [Enter]
# >>> /opt/anaconda2 [Enter]
# >>> [Enter]

設定

  • Anaconda3とAnaconda2を切り分けて操作するため、下記コードを「.bashrc」に追記。
#------------------------------------------------------------
# Python in Anaconda
#------------------------------------------------------------

#qtconsole Option
export FONT_CMD='--ConsoleWidget.font_family=\"RictyDiminished\"'
export FONT_SIZE_CMD='--ConsoleWidget.font_size=11'


# Anaconda3
export anaconda3_DIR='/opt/anaconda3/bin'

alias conda3='$anaconda3_DIR/conda'
alias py3='$anaconda3_DIR/python'
alias ipy3='$anaconda3_DIR/ipython'
alias jupy3n='$anaconda3_DIR/jupyter-notebook'
alias jupy3c='$anaconda3_DIR/jupyter-qtconsole $FONT_CMD $FONT_SIZE_CMD'


# Anaconda2
export anaconda2_DIR='/opt/anaconda2/bin'

alias conda2='$anaconda2_DIR/conda'
alias py2='$anaconda2_DIR/python'
alias ipy2='$anaconda2_DIR/ipython'
alias jupy2n='$anaconda2_DIR/jupyter-notebook'
alias jupy2c='$anaconda2_DIR/jupyter-qtconsole $FONT_CMD $FONT_SIZE_CMD'


# Sphinx
alias sphi='$anaconda2_DIR/sphinx'

Spyderを起動したい場合、「.bashrc」にalias spy2='$anaconda2_DIR/spyder'alias spy3='$anaconda3_DIR/spyder'と追記すればよろし。

  • 端末(~/・・・)でjupy3nと入力しJupyterを起動し何かコードを実行保存

  • ~/.ipython/ディレクトリが自動生成されている

  • ~/.ipython/profile_default/ディレクトリ内にipython_config.pyファイルを作成し下記コードを入力保存

# Configuration file for ipython.

c = get_config()

#------------------------------------------------------------------------------
# InteractiveShellApp configuration
#------------------------------------------------------------------------------
#
# Personal setting
#

# lines of code to run at IPython startup.
c.InteractiveShellApp.exec_lines = [
    "%matplotlib inline"
]

ipython_config.pyファイルが自動生成されなくなってるという事は禁止事項になった?(未確認)

ipython_config.pyファイルはIPython2とIpython3で共有されるんで一度設定すればOK

%matplotlib inlineを入力した場合、Terminalにipythonを表示した時「inlineできません」的なエラー表示が出ますがそのまま使用する事はできる。しかし、気になる場合は"%matplotlib inline"の入力は削除。また、削除した場合は、Jupyter Notebook及びJupyter QtConsole使用時のコーディング冒頭で%matplotlib inlineを必ず手入力。

動作確認

「Jupyter-notebook(ipython3)」、「Jupyter2-notebook(ipython2)」、「Jupyter3-qtconsole(ipython3)」、「Jupyter2-qtconsole(ipython2)」を全て立ち上げてみるw

$ cd ~/<ipython3用.ipynb保存ディレクトリ>
$ jupy3n &
$ jupy3c &
$ cd ~/<ipython2用.ipynb保存ディレクトリ>
$ jupy2n &
$ jupy2c &

f:id:mofoolog:20160229230716p:plain:w600

画像中の赤丸通り「Jupyter-notebook(ipython3)」、「Jupyter2-notebook(ipython2)」、「Jupyter3-qtconsole(ipython3)」、「Jupyter2-qtconsole(ipython2)」を同時起動できている。

プロセスを終了する方法はこちらの記事を参考にkill

 

condaコマンド集


condaコマンドで使いそうなものをまとめておく。

condaバージョン確認

# 通常
$ conda -V

# 今回の設定の場合
$ conda2 -V
$ conda3 -V

 

condaヘルプ

# 通常
$ conda -h

# 今回の設定の場合
$ conda2 -h
$ conda3 -h

 

conda自身の更新

# 通常
$ conda update conda

# 今回の設定の場合
$ conda2 update conda
$ conda3 update conda

 

モジュールまたはPythonバージョン検索

# 通常
$ conda search <モジュール名またはpython>

# 今回の設定の場合
$ conda2 search <モジュール名またはpython>
$ conda3 search <モジュール名またはpython>

 

モジュールの追加

# 通常
$ conda install <モジュール名>

# 今回の設定の場合
$ conda2 install <モジュール名>
$ conda3 install <モジュール名>

 

pypiのパッケージを追加

# 通常
$ conda skeleton pypi <パッケージ名>
$ conda build <パッケージ名>

# 今回の設定の場合
$ conda2 skeleton pypi <パッケージ名>
$ conda2 build <パッケージ名>
$ conda3 skeleton pypi <パッケージ名>
$ conda3 build <パッケージ名>

 

conda内にenv(仮想環境)のディレクトリを新規作成

# 通常(例)
# <anacondaのインストール先>「~/.conda/envs/」ディレクトリ以下に作成される
$ conda create -n <仮想環境ディレクトリ名> python=3.5 anaconda
$ source activete <仮想環境ディレクトリ名>

# 今回の設定の場合

# 「/opt/anaconda2/envs/」、「~/.conda/envs/」ディレクトリ以下に作成される
# .bashrcに「alias act2='/opt/anaconda2/bin/activete'」及び「alias deact2='deactivete'」を追記(例)必須
$ conda2 create -n <仮想環境ディレクトリ名> python=2.7 anaconda
$ act2 <仮想環境ディレクトリ名>

# 「/opt/anaconda3/envs/」、「~/.conda/envs/」ディレクトリ以下に作成される
# .bashrcに「alias act3='/opt/anaconda3/bin/activete'」及び「alias deact3='deactivete'」を追記(例)必須
$ conda3 create -n <仮想環境ディレクトリ名> python=3.5 anaconda
$ act3 <仮想環境ディレクトリ名>

 

その他

 

使っているうちにもっと使うコマンドが出てくるだろう。condaのドキュメントを見ながら馴染んでいこう!

Conda — Conda documentation