condaで環境構築・Linuxの場合
% bash ~/Miniconda2-latest-Linux-x86_64.sh -b -p $HOME/.miniconda2 % ln -s $HOME/.miniconda2 $HOME/.miniconda % conda create --name myenv % source activate myenv
環境設定はここに書く:
cd $CONDA_PREFIX mkdir -p ./etc/conda/activate.d mkdir -p ./etc/conda/deactivate.d touch ./etc/conda/activate.d/env_vars.sh touch ./etc/conda/deactivate.d/env_vars.sh
Bash completionをzshで使いたい場合は、$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
に以下の行を加える。
autoload bashcompinit
bashcompinit
コンパイラもcondaで入れたいなら、
% conda install gcc_linux-64 gxx_linux-64 gfortran_linux-64
$CONDA_PREFIX/etc/conda/activate.d
以下にactivate-gcc_linux-64.sh
などのbashスクリプトが入る。それが環境変数CCなどを設定する。gccといった実行可能バイナリもしくはそのリンクは作られないので、このbashスクリプトが重要。zshではbashスクリプトを適当な場所に移動して、以下のようにエミュレートして読み込むようにする。
emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-binutils_linux-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-gcc_linux-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-gxx_linux-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-gfortran_linux-64.sh'
プロンプトのホスト名がx86_64-conda_cos6-linux-gnu
になるので、元に戻すために以下の行を$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
と$CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh
に追加。
export HOST=`hostname`
まとめると(zsh)
autoload bashcompinit bashcompinit if (( ${+LD_LIBRARY_PATH} )); then export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$CONDA_PREFIX/lib fi if (( ${+C_INCLUDE_PATH} )); then export C_INCLUDE_PATH=$CONDA_PREFIX/include:$C_INCLUDE_PATH else export C_INCLUDE_PATH=$CONDA_PREFIX/include fi if (( ${+LIBRARY_PATH} )); then export LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH else export LIBRARY_PATH=$CONDA_PREFIX/lib fi emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-binutils_linux-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-gcc_linux-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-gxx_linux-64.sh' export HOST=`hostname`
他に、cmake, eigen, boost, openblasもcondaで入る。openblasはconda-forgeから入れると良い。
condaで環境構築・Macの場合
gcc, gxxの代わりにそれぞれclang, clang++を使うことになる。fortranは共にgfortran。以下参照。
% conda install clang_osx-64 clangxx_osx-64 gfortran_osx-64 llvm-openmp
OpenMPを使う場合はllvm-openmp
が必要。
$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
の設定をまとめると、
autoload bashcompinit bashcompinit export PATH=$CONDA_PREFIX/bin:/Users/togo/code/rtags/bin:$PATH if [[ -v LD_LIBRARY_PATH ]]; then export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$CONDA_PREFIX/lib fi if [[ -v C_INCLUDE_PATH ]]; then export C_INCLUDE_PATH=$CONDA_PREFIX/include:$C_INCLUDE_PATH else export C_INCLUDE_PATH=$CONDA_PREFIX/include fi if [[ -v LIBRARY_PATH ]]; then export LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH else export LIBRARY_PATH=$CONDA_PREFIX/lib fi emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate-gfortran_osx-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate_clangxx_osx-64.sh' emulate sh -c 'source $CONDA_PREFIX/etc/conda/activate.d/bash/activate_clang_osx-64.sh' export HOST=`hostname`