keisukeのブログ

***乱雑です!自分用のメモです!*** 統計や機械学習の勉強と、読み物を書く練習と、備忘録用のブログ

WindowsでanacondaのEnvironment管理をする

参考:How to activate an Anaconda environment - Stack Overflow

何をしたいの?

AnacondaのEnvironment管理に関する公式のドキュメントが、特にWindows環境においてはあまり充実しているとはいえないので、調べた結果を(自分用のメモも兼ねて)和訳して残したいです。 MacOS/Linux系のドキュメントは充分豊富にある上に、Windowsで頻発しがちな問題も起こらないので、Windows環境での設定について書きます。

Anaconda?

Pythonを使うにあたって、packageを色々を準備するのは意外と面倒だったりします。そこで、すでに誰かが「よく使う」packageをまとめて、Python本体と一緒に配布していることがあります(ディストリビューションと呼びます[^1 例えばUbuntuは便利なデスクトップ環境やアプリを一緒にまとめてあるLinuxディストリビューションのひとつです。 ])。

Anacondaはそのディストリビューションのひとつで、特に科学計算向けのpackage、つまりNumPyやScipy、matplotlibなどがひとまとめになっています。 つまり、Anacondaをインストールするだけで便利なPythonの科学計算実行環境が出来上がるわけです。

Virtual Environment?

Pythonを使っていると、たまに「違うバージョンのpackage試してみたい」となることがあります。packageじゃなくて、そもそも「Python2とPython3を切り替えて使いたい」ということもよくあります。そこで、Anacondaをインストールするとついてくるcondaというバージョン管理コマンドを使います[^2 普通PythonでのVirtual environmentではvirtualenvというコマンドが一般的に使われています。しかし、今回はせっかくAnacondaに付属しているのでcondaでvirtual environmentを構築します。condaで構築したvirtual environmentは、AnacondaをインストールしたときについてきたLauncher上でGUIチックに切り替えできることもできます。]。

使い方

Anacondaをインストールした段階で、rootと呼ばれる環境が作られています。rootは、C:\Anaconda\にインストールされているEnvironmentです。

例えば、rootではpython3を使っているが、python2環境を試したくなったとしましょう。 python2をcondaによってvirtual environment上にインストールするには次のコマンドを使います:

conda create -n python2007 python=2.7 anaconda

[^3 Launcher上でもNew Environmentボタンを押すことでGUIを使ってvirtual environmentを構築できますが、この場合裸のPythonがインストールされるだけで、Anacondaはインストールされない=自分で頑張って科学計算ライブラリをインストールする必要あります。]

このコマンドは、python2007という名前の仮想環境を、pythonのバージョン2.7でanacondaディストリビューション最新版を使って構築します。

実際どこにこの仮想環境がインストールされるかというと、C:\Anaconda\envsです。 では、次は環境をrootからpython2007に切り替えるコマンドです:

activate python2007

[^4 MacOS/Linuxの場合source activate python2007] [^5 cmd.exe上で実行してください。Powershell上だと動きません。] これだけです。 コマンドラインの入力行が

[python2007] >

のようになったと思います。 この状態ではPython2が動いています:

[python2007] > python --version
Python 2.7.8 :: Anaconda 2.1.0 (64-bit)

rootに戻りたいときは、

deactivate

でOKです:

[python2007] > deactivate
Deactivating environment "python2007"...
> python --version
Python 3.4.1 :: Anaconda 2.1.0 (64-bit)