Miniconda3でPython環境構築

はじめに

本エントリではMinicondaでPython環境を構築する手順をまとめます。

インストール

Miniconda3 Python 3.7 version(投稿時点最新Ver 4.5.11)を次の手順で導入します。

  1. 次のURLにアクセス : https://conda.io/miniconda.html
  2. 該当するOSのbashインストーラをダウンロード
  3. インストーラを実行 : $ bash Miniconda3-latest-<your_operating_system>-x86_64.sh

Conda環境の作成

$  conda create --name sample-env
Solving environment: done

## Package Plan ##

  environment location: /Users/.../miniconda3/envs/sample-env

Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate sample-env
#
# To deactivate an active environment, use
#
#     $ conda deactivate

Conda環境のアクティベート

$ conda activate sample-env
(sample-env) $ 

環境設定ファイルの作成

conda installpip install でインストールしたパッケージを含めて環境設定を持ち運びたい場合は conda env export で環境情報をエクスポートします。

$ conda env export > environment.yml

例えば次のようなymlファイルが出力されます。

environment.yml

name: sample-env
channels:
  - conda-forge
  - ...
dependencies:
  - factory_boy=2.11.1=py_0
  - faker=0.9.2=py36_1000
  - text-unidecode=1.2=py_0
  - blas=1.0=mkl
  - bzip2=1.0.6=h1de35cc_5
  - ...
  - pip:
    - atomicwrites==1.2.1
    - attrs==18.2.0
    - beautifulsoup4==4.6.3
    - coverage==4.5.1
    - ...
prefix: /Users/.../miniconda3/envs/sample-env

environment.yml のバージョン管理

パッケージの追加・更新を行う際は environment.yml を都度更新してgitなどでバージョン管理しておきます。 ただし、次の点に注意します。

prefixの削除

conda env export を行うと前述の通りconda環境のパスが prefix に出力されます。

environment.yml

prefix: /Users/.../miniconda3/envs/sample-env

このパスは環境依存なので prefix は削除します。
後述するymlからの環境作成時にはデフォルトの ~/miniconda3/envs/sample-env が使用されるだけで特に害はないです。

stackoverflow.com

GitHubから直接インストール

GitHubから直接パッケージをインストールしたい場合には、次の通り記述します。

environment.yml

dependencies:
  - pip:
    - "--editable=git+https://github.com/project-path/project.git#egg=project"

stackoverflow.com

ymlファイルからconda環境作成

ここまでに作成した environment.yml を入力に conda env create することで簡単にconda環境を再作成できます。

$ conda env create -f environment.yml
$ source activate sample-env