Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save NorimasaNabeta/491cff7e8622270d8fee1bbcb43c56e0 to your computer and use it in GitHub Desktop.
Save NorimasaNabeta/491cff7e8622270d8fee1bbcb43c56e0 to your computer and use it in GitHub Desktop.
conda で python の環境つくり

これは stfuawsc_itg Advent Calendar 2014 4日目の記事です。

プログラミングをしていると、いろいろなバージョンの環境を行ったり来たりしたくなることがあります。たとえば言語処理は python 2 へ nltk を入れてやりたい。シミュレーションは python 3 へ numpy 入れてやりたいとか。
そういうふうに言語やモジュールのバージョンをいろいろ組合せた環境を気軽に切り替えられると便利です。
実際そういうことを可能にするツールはたくさんあります。virtualenv, pyenv など。
ここで紹介する conda というツールもその1つです。
virtualenv などでは、モジュールを入れるときは通常の python の流儀でインストールするのですが、インストールがうまくいかないというのはよくあることです。conda ではあらかじめビルドされたものを入れるので、楽です。もちろん conda に用意されていないモジュールもありますが、そういうのは pip 等通常の方法で入れて共存できます。

ではさっそく conda で python の環境を作る方法です。

conda を入れる

私が以前 mac へ入れたときは anaconda の pkg を落としてきてインストールしました。http://continuum.io/downloads
anaconda ではなくて miniconda というのを入れる手もあるようです。miniconda は最小のセットで、パッケージはダウンロードする方式のようです。http://continuum.io/blog/anaconda-python-3

私の場合は、~/anaconda/ の下にインストールされました。
.bash_profilePATH が追加されました。

# added by Anaconda 1.8.0 installer
export PATH="/Users/user_name/anaconda/bin:$PATH"

conda で python 環境を管理する

http://docs.continuum.io/conda/index.html

conda コマンドで指定したバージョンの python を入れたり、指定したバージョンのモジュールを入れたりできます。

python 3.3 の環境をつくる例

$ conda create -n py33con python=3.3 anaconda

作った環境を使うには、PATH の指定を切り替えます。以下のようにして簡単にできる。

$ source activete py33con
$ python

環境から出るには source deactivate

複数のパッケージのバージョン指定もできます。

$ conda create -p ~/anaconda/envs/test2 anaconda=1.4.0 python=2.7 numpy=1.6

以下のコマンドで作った環境の一覧を表示できます。

conda info -e

モジュールを探す

conda で管理できるパッケージとバージョンを探すには search を使います。

$ conda search scikit-learn

python 自体もどのバージョンが選べるか見れます。

$ conda search python

-p オプションを使うと、指定した環境に compatible なパッケージを探せます。

$ conda search -p ~/anaconda/envs/onlyScipy/

(指定した)環境に入っている packages を表示

$ conda list (-n environment_name)

パッケージを追加

$ conda install scikit-learn

conda 自身の更新

$ conda update conda

conda にないけど pip にあるパッケージどうするか

http://stackoverflow.com/questions/18640305/how-to-keep-track-of-pip-installed-packages-in-an-anaconda-conda-env

では、pypi のパッケージから conda の recipe 作って conda で管理するのを推奨していました。

$ conda skeleton pypi PACKAGE
$ conda build PACKAGE

http://docs.continuum.io/conda/build.html

http://docs.continuum.io/conda/commands/skeleton.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment