読者です 読者をやめる 読者になる 読者になる

メモ書き

自分が後で見直すためにつけている作業のメモ書きです.それ以上の意味はありません

anaconda の使用方法

Python の実行環境の管理にAnaconda が便利らしいので整理

目的

  • パッケージ管理:指定したパッケージをインストールする.必要ならば依存関係を解決する.
  • 仮想環境管理:必要に応じて 環境ごとに異なるPythonのバージョンを使用したりインストールするパッケージの構成を切り替える.

インストール

Windowsの場合はインストーラをダウンロードする.
https://www.continuum.io/downloads

MacLinuxではpyenv 経由でのインストールが楽.
pyenvを使わなくてもインストールは可能だが,anacondaに含まれるツール群がOSで用意するものを隠してしまう可能性があるとのことで,必要に応じて切り替えられた方が良いという理由もある.

$ pyenv install --list   # インストール可能なバージョンの一覧を確認
$ pyenv install anaconda3-4.3.0

使用例

  • 管理にはインストールパッケージに含まれる conda というツールを使用する.
  • conda は「どの仮想環境」に「どのパッケージ」をインストールするかを指定する.
  • 仮想環境名は基本的に自由に指定可能.環境名を指定しない場合は既定の名称として root が使われる.
  • 仮想環境ごとにどのPythonバージョンを使用するかを指定することもできる.
# py2 という環境(pythonのバージョンは2.7) を作成し,numpy, scipy, pandas のパッケージをインストールする
$ conda create -n py2 python=2.7 numpy scipy pandas

# どの環境がどのバージョンを使用しているかの確認
$ conda env list

# 指定した環境に入る,(環境に入っている状態で)出る
$ conda activate py2
$ conda deactivate

# 環境を削除
$ conda remove -n py2 --all

# 指定したパッケージのインストール,アンインストール,更新
# 特定の環境にインストールしたい場合は,その環境に(activateで)入る必要がある
$ conda install numpy
$ conda uninstall numpy
$ conda update numpy

# インストール済みパッケージ一覧
$ conda list
$ conda list -n py2

# condaに含まれないが pip なら存在する場合は pip でインストール
# pip install <パッケージ名>

pyenv と組み合わせる場合の問題

pyenv を使用して anaconda をインストールした場合,conda (de)activate に失敗するという問題がある.
qiita.com

対処法の一つとして,(de)activate を alias して使うことにする.

$ alias conda-activate='source /home/developer/.pyenv/versions/anaconda3-4.1.1/bin/activate'

実際にはこれを ~/.profile などに記述しておいて使用する.

pyenv との関係

  • pyenv はディレクトリごとに使用バージョンを切り替えることができる
  • conda は同じバージョンでも目的別などで仮想環境を作ることができ,それぞれにインストールするパッケージを指定することができる
  • 使用する anaconda をディレクトリで切り替えたい場合は pyenv を使う