programing

Conda가 기본 환경을 활성화하지 않도록 하려면 어떻게 해야 합니까?

batch 2023. 4. 21. 20:23
반응형

Conda가 기본 환경을 활성화하지 않도록 하려면 어떻게 해야 합니까?

최근 Mac에 anaconda2를 설치했습니다.기본적으로는 Conda는 신규 터미널 세션을 열 때 기본 환경을 활성화하도록 설정되어 있습니다.

명령어에 합니다).$PATH초기화할 때 Conda가 수행하는 작업이기 때문에 괜찮습니다.)

그러나 저는 보통 python으로 프로그래밍하지 않으며 Conda가 기본 환경을 활성화하지 않았으면 합니다.

실행 시conda init과 같이 나의 Conda에 합니다..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 <<<

전체 블록을 설명하면 콘다 환경을 활성화할 수 없습니다.

나는 모든 블록에 코멘트를 붙이려니

export PATH="/Users/geoff/anaconda2/bin:$PATH"

그러나 새로운 세션을 시작하고 환경을 활성화하려고 하면 다음 오류 메시지가 나타납니다.

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

질문(및 이와 유사한 질문)은 도움이 되지만 궁극적으로 제 질문에 대한 답변은 아니며 Linux 사용자에게 더 적합합니다.

확실히 하자면, 난 이 모든 걸 없애라는 게 아니야(base) 내 my my my $PS1콘다에게 터미널 세션을 열 때 기지를 활성화하지 말아달라고 부탁한다.

저는 conda에 의해 추가된 유사한 코드 블록을 가진 conda 4.6을 가지고 있습니다.이 경우, 자동 베이스 액티베이션의 디세블로 하는 Conda 설정이 있습니다.

conda config --set auto_activate_base false

" " " " " " 가 됩니다..condarc기본 설정을 덮어쓰도록 홈 디렉토리로 설정합니다.

하면 .bash_profileConda가 관리하는 섹션을 수동으로 편집하지 않아도 더 깔끔한 솔루션입니다.

에 세 이 있어요.conda4.6 (최종 방법)

  1. 명령어 " " " " "conda config설정을 변경합니다.

    conda config --set auto_activate_base false
    
  2. 전자의 conda config합니다..condarc.condarccontent add . add음음음에 다음 내용을 하세요..condarc★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★.

    # auto_activate_base (bool)
    #   Automatically activate the base environment during shell
    #   initialization. for `conda init`
    auto_activate_base: false
    
  3. 설정CONDA_AUTO_ACTIVATE_BASE초기설정.bashrc, "Bash"라고 합니다..zshrczsh의 경우)

    export CONDA_AUTO_ACTIVATE_BASE=false
    

    에서 condarc파일 기반 구성 매개 변수 이름에서 환경 변수 매개 변수 이름으로, 이름을 모두 대문자로 지정하고 앞에 추가합니다. CONDA_예를 들어 콘다의always_yes는 '''를 할 수 있습니다.CONDA_ALWAYS_YES환경 변수입니다.

    에서는 환경 설정이 해당 설정보다 우선합니다..condarcfilename을 클릭합니다.

레퍼런스

은 ''에요.conda를 클릭합니다.> conda > = 4.4로 합니다.deactivate, 즉 Conda를 합니다.

conda deactivate

바로 밑에

# <<< conda initialize <<<

터미널에서 Conda Base 환경의 자동 활성화를 비활성화하려면:

conda config --set auto_activate_base false

Conda Base 환경을 활성화하려면:

conda activate

결국 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는 필요에 따라 환경을 활성화할 수 있지만 기본적으로 활성화되지 않습니다.

★★★★★★★★★★★★★★★★★★★의.bashrc수작업으로 심플하게 유지하려면 다음 작업만 하면 됩니다.

. "$HOME/anaconda2/etc/profile.d/conda.sh"

셸에서 conda를 활성화하려면 권장 변경을 참조하십시오.

그러면 기본 환경을 활성화하지 않고도 conda 명령을 사용할 수 있습니다(또한 conda 구성을 읽을 수도 없습니다.

은 ( Conda 를 Conda로 되지 않습니다.conda init이렇게 하다, 하다, 하다, 하다, 하다, 하다, 하다에 비해 상당히 도 있습니다.conda init이 솔루션에서는 Conda를 호출하여 기본 환경 등을 활성화할지 여부에 대한 설정 파일을 해석하는 것을 피하기 위해 생성된 코드입니다.

이 '아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아,아if/fi않은 여러 시스템에서 오류 행: conda 설 、 bashrc :

if [ -f "$HOME/anaconda2/etc/profile.d/conda.sh" ]; then
    . "$HOME/anaconda2/etc/profile.d/conda.sh"
fi

마지막으로 conda가 다른 경로에 설치되어 있는 여러 시스템 간에 bashrc를 공유하는 경우 다음과 같이 수행할 수 있습니다.

for CONDA_PREFIX in \
   "$HOME/anaconda2" \
   "$HOME/miniconda3" \
   "/opt/miniconda3" \
do
    if [ -f "$CONDA_PREFIX/etc/profile.d/conda.sh" ]; then
        . "$CONDA_PREFIX/etc/profile.d/conda.sh"
        break
    fi
done

지금은 .conda init코드는 되며, 더잘할 수 있습니다.conda init를 의 경우.bashrc서로 다른 시스템 간에.

★★★★★★에conda 4.12.0(WOS에서) 다음과 같은 작업이 수행되었습니다(이러한 답변은 모두 해당되지 않았습니다).
안에서activate.batfile(내 이름은 ~/miniconda3/Scripts/activate.bat)에서 행을 변경합니다.

@REM This may work if there are spaces in anything in %*
@CALL "%~dp0..\condabin\conda.bat" activate %*

안으로

@REM This may work if there are spaces in anything in %*
@CALL "%~dp0..\condabin\conda.bat" deactivate

(activate.bat 파일의) 섹션에서는 다음 행 변경/변경이 작동하지 않습니다.

@if "%_args1_first%"=="+" if NOT "%_args1_last%"=="+" (
        @CALL "%~dp0..\condabin\conda.bat" activate
        @GOTO :End
)

달라지기 일 거야miniconda3 Prompt)Anaconda Prompt).%windir%\System32\cmd.exe "/K" some-path-to\miniconda3\Scripts\activate.bat some-path-to\miniconda3(이러한)

경고: 갱신conda배트.배트할 수없다내 생각엔 별로 타협할 게 없는 것 같아

이것은 최근의 아나콘다 버그일지도 모릅니다.나에게 적합한 기능:

1: 서 1:vim /anaconda/bin/activate뭇매를 맞다

 #!/bin/sh                                                                                
 _CONDA_ROOT="/anaconda"
 # Copyright (C) 2012 Anaconda, Inc
 # SPDX-License-Identifier: BSD-3-Clause
 \. "$_CONDA_ROOT/etc/profile.d/conda.sh" || return $?
 conda activate "$@"

줄 : 2단계: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃: 코멘트 아웃.# conda activate "$@"

언급URL : https://stackoverflow.com/questions/54429210/how-do-i-prevent-conda-from-activating-the-base-environment-by-default

반응형