49

When using anaconda (install for python), when I switch to the virtual env with this:

source activate my_env

It changes my prompt and adds (my_env) at the start of my PS1.

I've tried adding export VIRTUAL_ENV_DISABLE_PROMPT=1 to my bashrc, but it did not help.

Any idea?

DevShark
  • 7,878
  • 7
  • 30
  • 54
  • 2
    This is deeply worrying. If anaconda thinks it has the right to edit `.bash_profile` in a way which changes the prompt, what else does it (mistakenly) think it has the right to do? Turns out, it also adds to the beginning of `PATH` so that, for example, `curl` is redefined. Ouch! I’m treating this as malware. – Adam Chalcraft Sep 29 '20 at 01:44

4 Answers4

77

Run this on the terminal:

$ conda config --set changeps1 False

http://conda.pydata.org/docs/config.html#change-command-prompt-changeps1

rajats105
  • 871
  • 7
  • 2
22

Add:

changeps1: False

to your .condarc file.

http://conda.pydata.org/docs/config.html#change-command-prompt-changeps1

Adam
  • 858
  • 7
  • 22
8

I've had a slightly different, but related problem: how to avoid the base env to be activated by default for every terminal window. Solution:

conda config --set auto_activate_base False

Note: this only works if you have run conda init first.

saza
  • 350
  • 5
  • 6
  • ONce you have done this, how do you get back a terminal with (base) ? – Bram Nov 06 '19 at 22:45
  • 1
    Hey @Bram, that's simple, just run `conda activate`, it will activate the base environment! Cheers – saza Nov 07 '19 at 22:14
2

If you are like me, you like the non-default environment to show up if you have activated it, but don't want to clutter up your prompt in other cases - (e.g. you happen to use bash for reasons having nothing to do with python)

Place the following excerpt in your ~/.bash_profile right after the section managed by conda:

# ahj - remove the default Python environment artifact "(base)" from prompt
PS1=$(echo "$PS1" | perl -pe 's/^\(base\)\s*//' )