programing

콘다 업데이트 후 터미널 프롬프트에서 제거(베이스)하는 방법

closeapi 2023. 5. 1. 21:23
반응형

콘다 업데이트 후 터미널 프롬프트에서 제거(베이스)하는 방법

미니콘다3 업데이트 후 단말기를 열 때마다 사용자 이름과 호스트 앞에 "(베이스)"가 표시됩니다.

답변 게시물 https://askubuntu.com/a/1113206/315699 에서 사용하도록 제안되었습니다.

conda config --set changeps1 False

그것을 제거하기 위해.

하지만 그것은 모든 콘다 환경에 대한 표시를 제거할 것입니다.저는 이 (기본) 공간을 차지하는 것을 항상 보지 않고도 항상 활성 상태를 유지하고 파이썬 및 설치된 패키지에 액세스할 수 있도록 기본 패키지에 대해서만 제거하고 싶습니다.

시작 시 콘다의 기본 환경이 활성화되기 때문입니다.

auto_activate_base 매개 변수를 false로 설정하면 대신 시스템 환경으로 기본 설정되고 프롬프트가 표시되지 않습니다.입력 방법:

conda config --set auto_activate_base false


2021/09/09 편집:

만약 당신이 OP와 정확히 같은 상황에 직면하고 있고, 당신이 환경을 관리하기 위해 콘다를 사용하고 있고, (기본) 환경이 터미널의 시스템 환경과 다르지 않게 보이길 원한다면, 절차를 위해 @merv의 답변을 확인하세요.프롬프트 문자열은 사용 중인 셸에 따라 특정 특수 변수에 저장되므로 사용자에게 적합하지 않은 경우 셸의 설명서를 확인하십시오.

만약 당신이 콘다가 없는 시스템 환경을 기본으로 사용하고 싶다면, 나의 원래 대답은 당신을 위한 해결책이었습니다.

@merv와 @Neinstein이 댓글로 지적해 주셔서 감사합니다.

사용baseenv의 활성화 후크

각 환경에 대해, 의 모든 스크립트etc/conda/activate.d디렉토리가 활성화 후 실행됩니다(계속).etc/conda/deactivate.d비활성화를 위한 스크립트).제거할 스크립트를 추가하는 경우(base)@ewindes 제안과 유사하게, 당신은 당신이 원하는 행동을 얻을 것입니다.

저는 베이스를 위해 이 디렉토리를 만들어야 했습니다. 이것은 당신의 아나콘다/미니콘다 폴더의 루트일 뿐입니다.예.,

mkdir -p miniconda3/etc/conda/activate.d

그런 다음 그 안에 간단한 파일을 만들었습니다. (예:remove_base_ps1.sh) 한 줄로:

PS1="$(echo "$PS1" | sed 's/(base) //') "

zsh를 사용하는 경우 대신 이것을 사용합니다.

PROMPT=$(echo $PROMPT | sed 's/(base) //')

그러면 새 셸을 실행해도 표시되지 않습니다.(base)중첩된 환경에서 비활성화하면 PS1 변경도 처리됩니다.

참고: 끝 공간을 유지하려면 $PS1 정도의 따옴표를 추가해야 합니다.

기본적으로,auto_activate_base으로 설정됨True아나콘다를 설치할 때.이를 확인하려면 다음을 실행합니다.

$ conda config --show | grep auto_activate_base
auto_activate_base: True

False

conda config --set auto_activate_base False

그리고 그 반대.

고참, 약만이면changeps1False그것은 숨을 것입니다.(env)를 보여주고 싶다면, 리고만당보여싶고다면주이신약전▁complete싶다면보고주▁you.(env)활화된경설수정있습다니할만에우성다있수니▁set▁only를 설정할 수 있습니다.changeps1True:

conda config --set changeps1 True

changeps1False숨을 것입니다(env)설령 그렇다 하더라도env 활성화되어 .(base)그후도에 에도.auto_activate_base으로 설정됨True.

.bashrc에 명령을 추가하여 PS1에서 "(기본)" 문자열을 제거할 수 있습니다.

PS1=$(echo $PS1 | sed 's/(base)//')

Linux의 디스트리뷰터를 사용하는 경우 이 명령어는 사용자에게 효과적입니다.

conda config --set auto_activate_base false

그리고나서

conda deactivate

만약 당신이 macOS 사용자이고 최근에 그런 문제에 직면했다면.여기 해결책이 있습니다.터미널을 열고 입력하면 됩니다.

콘다 비활성화

이 해결책은 저에게 효과가 있었습니다.이전과 같이 저는 아나콘다 비단뱀으로 몇 가지를 시도했습니다.

저에게 효과적인 것은 다음과 같습니다.

conda config --set changeps1 false 

데비안 시스템에서, 그 후.

conda config --set auto_activate_base false

gnome을 다시 로드하지 않고 터미널에서 효과가 발생하기 위해 잊지 마십시오.

bash --login

그리고 플래그의 상태를 확인합니다.

conda config --show | grep auto_activate_base

아마도 소스 활성화 때문일 것입니다.

플라스크 서버에서 이 작업을 수행할 때 비슷한 문제가 발생하여 가상 환경을 활성화하고 비활성화하는 것을 잊었습니다.

가상 환경이 활성화된 폴더로 이동하여

source deactivate

위해서conda 4.12.0(WOS에서) 다음이 효과가 있었습니다(이전의 모든 답변(여기에 포함됨).
의 신의에activate.bat파일(내 파일은 ~/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)되었습니다.%windir%\System32\cmd.exe "/K" some-path-to\miniconda3\Scripts\activate.bat some-path-to\miniconda3(나의 경우)

주의: 업데이트conda이(syslog.bat) 파일을 덮어쓰므로 위 행을 필요한 만큼 수정해야 합니다.제게 묻는다면 거래를 깨는 것은 별로 없습니다.

환경 변수를 제외하고 ~/.bashrc의 모든 행을 주석 처리합니다.

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
#__conda_setup="$('/home/<user>/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
#if [ $? -eq 0 ]; then
#    eval "$__conda_setup"
#else
#    if [ -f "/home/<user>/anaconda3/etc/profile.d/conda.sh" ]; then
#        . "/home/<user>/anaconda3/etc/profile.d/conda.sh"
#    else
        export PATH="/home/<user>/anaconda3/bin:$PATH"
#    fi
#fi
#unset __conda_setup
# <<< conda initialize <<<

설치에서 macOS 카탈설서, 나방실습니다했을 했습니다.conda config --set env_prompt ""그것 때문에 제거되었습니다.

언급URL : https://stackoverflow.com/questions/55171696/how-to-remove-base-from-terminal-prompt-after-updating-conda

반응형