După ce am actualizat miniconda3, de fiecare dată când deschid un terminal, apare „(base)” în fața numelui meu de utilizator și a gazdei.
În acest post de răspuns https://askubuntu.com/a/1113206/315699 a fost sugerat să folosesc
conda config --set changeps1 False
Pentru a o elimina.
Dar asta ar elimina indicația pentru orice mediu conda. Aș dori să o înlătur doar pentru cel de bază, astfel încât să îl pot menține mereu activ și să am acces la python și la pachetele instalate, fără a fi nevoit să văd mereu acest (base) ocupând spațiu.
Utilizați base
cârligul de activare al env
Pentru fiecare env, orice scripturi din etc/conda/activate.d
va fi executat după activare (la fel ca și etc/conda/deactivate.d
scripturile pentru dezactivare). Dacă adăugați un script pentru a elimina (base)
, similar cu sugestia lui @ewindes, veți obține comportamentul dorit.
A trebuit să creez acest director pentru base, care este doar rădăcina dosarului Anaconda/Miniconda. De ex,
mkdir -p miniconda3/etc/conda/activate.d
Apoi a făcut un fișier simplu acolo (de ex, remove_base_ps1.sh
) cu o singură linie:
PS1="$(echo "$PS1" | sed 's/(base) //') "
Dacă folosiți zsh, folosiți în schimb acest lucru.
PROMPT=$(echo $PROMPT | sed 's/(base) //')
Lansarea unui nou shell apoi nu arată (base)
, iar dezactivarea din envs imbricate are grijă și de schimbarea PS1.
Notă: Trebuie să adăugați ghilimele în jurul lui $PS1 dacă doriți să păstrați spațiile finale.
Acest lucru se datorează faptului că mediul de bază al condeiului este activat la pornire.
Pentru a seta parametrul auto_activate_base la false, tastați:
conda config --set auto_activate_base false
- Problema din OP este că nu doresc ca PS1 să se schimbe chiar și atunci când base este activată. – > .
- asta este ceea ce căutam și eu. – > .
[[ $PS1 =~ ^(base) ]] && conda config --set auto_activate_base false
persistent între (re)instalări. (Adăugați-l în~/.bashrc
, după secțiunea Conda) – – > .
În mod implicit, auto_activate_base
este setat la True
atunci când se instalează anaconda.Pentru a verifica acest lucru, rulați:
$ conda config --show | grep auto_activate_base
auto_activate_base: True
Pentru a-l seta False
conda config --set auto_activate_base False
și viceversa.
Rețineți că, dacă changeps1
este păstrat False
, se va ascunde (env)
complet, iar în cazul în care doriți să afișați (env)
doar atunci când este activată, puteți seta changeps1
la True
:
conda config --set changeps1 True
Setare
changeps1
laFalse
va ascunde(env)
chiar dacăenv
este activată și va continua să se ascundă(base)
chiar și după ceauto_activate_base
este setat laTrue
.
- Simplu și rapid..Mulțumesc – > .
- Ce adaugă acest lucru care nu este deja în acest alt răspuns timpuriu? – > .
- Acesta este cel care a funcționat pentru mine în zsh cu OhMyZsh pe macOS Catalina (10.15) atunci când răspunsul acceptat nu a făcut-o, probabil pentru că solicitările sunt făcute ușor diferit de bash – > .
Ați putea adăuga o comandă în fișierul .bashrc pentru a elimina șirul „(base)” din PS1:
PS1=$(echo $PS1 | sed 's/(base)//')
- Răspunsul tău adaugă un spațiu la începutul lui
PS1
și elimină un spațiu după$
, astfel încât textul să arate ca:[email protected]:~$cd Documents/
. Această linie îmbunătățește acest lucru:PS1="$(echo $PS1 | sed 's/(base) //') "
, din păcate, atunci când activați un alt env, apoi îl dezactivați, se modifică(base)
va rămâne acolo. – > . - Adaug această variabilă în .bashrc. A funcționat ca prin minune. Vă mulțumesc. – > .
Pentru mine, ceea ce a funcționat a fost:
conda config --set changeps1 false
Dacă sunteți un utilizator macOS și v-ați confruntat recent cu o astfel de problemă. iată soluția. Doar deschideți terminalul, apoi tastați…
conda deactivate
Această soluție a funcționat pentru mine. Așa cum am încercat anterior câteva lucruri cu anaconda python.
Pe instalarea mea macOS Catalina, am rulat pur și simplu conda config --set env_prompt ""
. Asta a eliminat-o pentru mine.
- Asta îl elimină pentru tot – vă rugăm să recitiți OP (vrea doar schimbarea pentru baza). Chiar dacă asta era ceea ce se dorea,
changeps1
ar fi mai eficient; această soluție are ca rezultat rularea codului pentru a gestiona PS1, chiar dacă introduce doar șiruri de caractere goale. – > .
Pur și simplu comentați toate liniile din ~/.bashrc, cu excepția variabilei de mediu:
# >>> 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 <<<
- Ar trebui să vă asigurați că știți care este consecința comentării acestor linii în afară de eliminarea lui „base” din eticheta shell-ului. – > .
- Vă recomand cu tărie să nu faceți acest lucru. Acele avertismente cu dublă exclamație sunt acolo pentru a indica faptul că nu ar trebui să editați această regiune. În plus, acest lucru elimină toate noile funcționalități de shell-uri Conda v4.4+ și lasă doar gestionarea PATH-ului pre-v4.4, pe care dezvoltatorii îl includ doar ca o soluție de rezervă absolută de bază (de exemplu, doar pentru shell-uri neacceptate). – > .
pe sistemul Debian, după
conda config --set auto_activate_base false
nu uitați ca pentru ca efectele să aibă loc în terminal fără a reîncărca gnome
bash --login
și verificați starea indicatorului
conda config --show | grep auto_activate_base
Dacă folosiți Mac doar HardReset Terminalul.Open Terminal > Shell > Hard Reset
Pentru mine funcționează.
Când utilizați conda și vscode. conda activează mediul virtual în proiectul dvs. dacă aveți unul și dacă nu conda și vscode creează unul pentru dvs. numit bază.
pentru a-l dezactiva, utilizați:
conda deactivate
conda info
în întrebare. – > Por merv.