Conda: Creating a virtual environment

Check if Conda is installed

conda -V

Check if Conda is up to date

conda update conda

Create a virtual environment

conda create -n yourenvname python=x.x anaconda

Activate your virtual environment

source activate yourenvname

Install additional Python packages to a virtual environment

conda install -n yourenvname [package]

Deactivate your virtual environment

source deactivate

Delete the virtual environment

conda remove -n yourenvname --all

I am not sure what causes the problem in your case, but code below works for me without any issues (OS X, the same version of Conda as yours).

Creation of the environment

conda create -n test_env python=3.6.3 anaconda

Some explanation of the documentation of conda create is not clear:

  • -n test_env sets name of the environment to test_env

  • python=3.6.3 anaconda says that you want to use python in version 3.6.3 in this environment (exactly the one you have, and you can use a different one if you need it) and package anaconda. You can put all the things you need there, separated with spaces, e.g., sqlite matplotlib requests and specify their versions the same way as for python.

Activation

conda activate test_env

Deactivation

conda deactivate

Getting rid of it

conda remove -n test_env --all

I was able to solve my problem. Executing the source activate test_env command wasn't picking up my .bash_profile, and I normally work in tcsh. Simply starting a subprocess in Bash was enough to get activate working. I guess I assumed, incorrectly, that the activate command would start a child process in Bash and use Bash environment variables.

> conda info -e
> # conda environments:
> #
> base                  *  ~/anaconda3
> test_env                 ~/anaconda3/envs/test_env
> bash
~$ source ~/anaconda3/bin/activate test_env
(test_env) ~$
(test_env) ~$ conda info -e
# conda environments:
#
test_env              *  ~/anaconda3/envs/test_env
root                     ~/anaconda3