Cum să eliminați (baza) din promptul terminalului după actualizarea condeiului (Programare, Bash, Terminal, Anaconda, Conda, Miniconda)

Homero Esmeraldo a intrebat.
a intrebat.

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.

11 răspunsuri
merv

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.

Comentarii

  • Perfect! A funcționat aici. Mulțumesc! –  > Por Homero Esmeraldo.
  • Nu funcționează pentru mine (conda 4.8.3; Python 3.8.3). Am în continuare același „(base)” în shell-ul meu. –  > Por Awaaaaarghhh.
  • @Awaaaaaarghhh pune o nouă întrebare cu detalii despre cum a eșuat și voi arunca o privire. Includeți ieșirea din conda info în întrebare. –  > Por merv.
  • @merv probabil că unul trebuie doar să repornească PC-ul după ce a executat comenzile tale. – Doar repornirea shell-ului nu a ajutat. –  > Por Awaaaaarghhh.
  • A funcționat destul de bine. Mulțumesc, amice.  > Por Nirali Khoda.
Yokissa

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

Comentarii

  • Problema din OP este că nu doresc ca PS1 să se schimbe chiar și atunci când base este activată. –  > Por merv.
  • asta este ceea ce căutam și eu. –  > Por ether_joe.
  • [[ $PS1 =~ ^(base) ]] && conda config --set auto_activate_base false persistent între (re)instalări. (Adăugați-l în ~/.bashrc, după secțiunea Conda) – –  > Por ceremcem.
monti

Î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 la False va ascunde (env) chiar dacă env este activată și va continua să se ascundă (base) chiar și după ce auto_activate_base este setat la True.

Comentarii

  • Simplu și rapid..Mulțumesc –  > Por Jiya.
  • Ce adaugă acest lucru care nu este deja în acest alt răspuns timpuriu? –  > Por merv.
  • 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 –  > Por Ed Griebel.
ewindes

Ați putea adăuga o comandă în fișierul .bashrc pentru a elimina șirul „(base)” din PS1:

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

Comentarii

  • 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. –  > Por David.
  • Adaug această variabilă în .bashrc. A funcționat ca prin minune. Vă mulțumesc. –  > Por Serfius.
Cecília Assis

Pentru mine, ceea ce a funcționat a fost:

conda config --set changeps1 false 

codexaxor

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.

Matt

Pe instalarea mea macOS Catalina, am rulat pur și simplu conda config --set env_prompt "". Asta a eliminat-o pentru mine.

Comentarii

  • 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. –  > Por merv.
Timin

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 <<<

Comentarii

  • 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. –  > Por Homero Esmeraldo.
  • 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). –  > Por merv.
Artem

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

Kanish

Dacă folosiți Mac doar HardReset Terminalul.Open Terminal > Shell > Hard Reset

Pentru mine funcționează.

Khyar Ali

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