최근에 Mac에 anaconda2를 설치했습니다. 기본적으로 Conda는 새로운 터미널 세션을 열 때 기본 환경을 활성화하도록 구성되어 있습니다.
Conda 명령에 액세스하고 싶습니다 (즉, Conda가 초기화 될 때 Conda가 수행하는 $ PATH에 경로를 추가하고 싶습니다).
그러나 나는 보통 파이썬으로 프로그래밍하지 않으며 Conda가 기본적으로 환경을 활성화하기를 원하지 않습니다.
conda init
프롬프트에서 처음 실행될 때 Conda는 다음을 my에 추가합니다 .bash_profile
.
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
unset __conda_setup
# <<< conda initialize <<<
전체 블록을 주석 처리하면 Conda 환경을 활성화 할 수 없습니다.
를 제외한 전체 블록을 주석 처리하려고했습니다.
export PATH="/Users/geoff/anaconda2/bin:$PATH"
그러나 새 세션을 시작하고 환경을 활성화하려고 할 때 다음 오류 메시지가 나타납니다.
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
이 질문 (및 다른 질문들 )은 도움이되지만 궁극적으로 내 질문에 대답하지는 않으며 Linux 사용자에게 더 적합합니다.
설명을 위해, 나는를 제거하라는 게 아니에요 (base)
내에서 $PS1
내가 터미널 세션을 열 때 내가 활성화 기본으로하지 CONDA을 요구하고있다.
답변
conda가 추가 한 유사한 코드 블록이있는 conda 4.6이 있습니다. 필자의 경우 자동 기본 활성화를 비활성화하는 conda 구성 설정이 있습니다.
conda config --set auto_activate_base false
처음 실행하면 ./condarc
홈 디렉토리에 해당 설정을 사용하여 기본값을 재정의합니다.
이것은 혼란 .bash_profile
스럽지 않지만 conda가 관리하는 섹션을 수동으로 편집하지 않으면 더 깨끗한 솔루션입니다.
답변
대답 conda
은 설치 한 버전에 따라 다릅니다 . conda> = 4.4 버전의 deactivate
경우 초기화 후 conda 환경에 충분해야 합니다.
conda deactivate
바로 아래
# <<< conda initialize <<<
답변
결국 Conda 초기화 블록을 주석 처리하면 다음과 같이 나타났습니다.
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
# __conda_setup="$('/Users/geoff/anaconda2/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
# eval "$__conda_setup"
# else
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
else
export PATH="/Users/geoff/anaconda2/bin:$PATH"
fi
# fi
# unset __conda_setup
# <<< conda initialize <<<
내가 원하는 방식대로 작동합니다. 즉, Conda는 원하는 경우 환경을 활성화하는 데 사용할 수 있지만 기본적으로 활성화되지는 않습니다.
답변
conda
4.6 이후에 이것을 달성하는 3 가지 방법이 있습니다. 마지막 방법이 우선 순위가 높습니다.
-
하위 명령
conda config
을 사용하여 설정을 변경하십시오.conda config --set auto_activate_base false
-
실제로 이전
conda config
하위 명령은 구성 파일을 변경하고 있습니다.condarc
..condarc
직접 수정할 수 있습니다..condarc
홈 디렉토리 아래에 다음 내용을 추가하십시오 .# auto_activate_base (bool) # Automatically activate the base environment during shell # initialization. for `conda init` auto_activate_base: false
-
CONDA_AUTO_ACTIVATE_BASE
쉘의 init 파일에서 환경 변수 를 설정 하십시오. (.bashrc
bash,.zshrc
zsh)CONDA_AUTO_ACTIVATE_BASE=false
으로부터 변환하려면
condarc
환경 변수의 매개 변수 이름에 파일 기반 구성 매개 변수의 이름, 이름 모두 만들 대문자 와 앞에 붙입니다CONDA_
. 예를 들어, 환경 변수를always_yes
사용하여 conda의 구성 매개 변수를 지정할 수 있습니다CONDA_ALWAYS_YES
.환경 설정 이
.condarc
파일의 해당 설정 보다 우선 합니다.
참고 문헌
- 고급 사용자를위한 Conda 구성 엔진
- .condarc conda 구성 파일 사용
conda config --describe
- 콘다 4.6 릴리즈
답변
터미널에서 conda 기본 환경의 자동 활성화를 비활성화하려면 :
conda config --set auto_activate_base false
콘다베이스 환경을 활성화하려면 :
conda activate
답변
지적되지 않은 한 가지는, @DryLabRebel이 원하는대로 Conda (Python ‘s) 스크립트 디렉토리에서 응용 프로그램을 실행하려는 경우 활성 환경이없는 것과 기본 환경을 활성화하는 것 사이에는 거의 차이가 없다는 것입니다 ).
conda를 통해 설치 및 제거 할 수 있으며 conda는 기본 환경을 활성으로 표시합니다. 기본적으로 다음과 같습니다.
> echo $Env:CONDA_DEFAULT_ENV
> conda env list
# conda environments:
#
base * F:\scoop\apps\miniconda3\current
> conda activate
> echo $Env:CONDA_DEFAULT_ENV
base
> conda env list
# conda environments:
#
base * F:\scoop\apps\miniconda3\current
답변
bashrc를 단순하게 유지하려면 conda init
생성 된 모든 혼란을 제거 하고 한 줄만 유지할 수 있습니다.
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
쉘에서 conda를 활성화하려면 권장 변경 사항을 참조하십시오 .
이렇게하면 기본 환경을 활성화하지 않고 conda 명령을 사용할 수 있습니다.
conda가 동일한 경로에 설치되지 않은 다른 시스템에서 bashrc를 사용하려는 경우 if
/ fi
줄을 유지하여 오류 메시지를 피할 수 있습니다 .
if [ -f "/Users/geoff/anaconda2/etc/profile.d/conda.sh" ]; then
. "/Users/geoff/anaconda2/etc/profile.d/conda.sh"
fi