LoginSignup
0
0

特定ディレクトリで使用するpyenv環境を自動的に切り替える (bash/zsh)

Last updated at Posted at 2023-08-25

bashとzshで設定の仕方が若干異なったので整理しました。詳細は下記の元記事を参照してください。

bash/zsh共通

切り替えたいディレクトリで、当該環境をactivateし、その環境名を.environment.yamlに書き出す。

conda config --set auto_activate_base false
conda activate hogehoge
conda env export > .environment.yaml

zshの場合

~/.zshrcに下記を書き込む。

# Auto activate conda environments
function conda_auto_env() {
  if [ -e ".environment.yaml" ]; then
    ENV_NAME=`head -n 1 .environment.yaml | cut -f2 -d ' '`
    # Check if you are already in the environment
    if [[ $CONDA_PREFIX != *$ENV_NAME* ]]; then
      # Try to activate environment
      conda activate $ENV_NAME &>/dev/null
    fi
  fi
}
precmd() {
   conda_auto_env
}

bashの場合

~/.bashrcに下記を書き込む。

# Auto activate conda environments
function conda_auto_env() {
  if [ -e ".environment.yaml" ]; then
    ENV_NAME=$(head -n 1 .environment.yaml | cut -f2 -d ' ')
    # Check if you are already in the environment
    if [[ $CONDA_PREFIX != *$ENV_NAME* ]]; then
      # Try to activate environment
      source activate $ENV_NAME &>/dev/null
    fi
  fi
}

export PROMPT_COMMAND="conda_auto_env;$PROMPT_COMMAND"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0