The following quote is from Conda’s github page 
Conda is a cross-platform, Python-agnostic binary package manager. It is the package manager used by Anaconda installations, but it may be used for other systems as well. Conda makes environments first-class citizens, making it easy to create independent environments even for C libraries. Conda is written entirely in Python, and is BSD licensed open source.
The main advantage of using conda to manage your packages and environment is that it will work across platforms
conda also uses hard linking, so it is inexpensive to create multiple copies of the same package
One simple way to start is to first specify a
# environment.yml name: psst-env dependencies: - python - nose - numpy - pandas - pip: - pyomo
The name of the environment can be changed. Activate the environment by using the following.
source activate psst-env
Then you can create the environment by
conda env create
You can update the environment after adding a package to
environment.yml by using the following
conda env update
Alternatively, you can create a new empty environment by using either one of the following
conda create -n pelican-env python=2 conda create --name pelican-env python=2
In this case,
pelican-env is the name of the environment. You can follow the name of the environment with all the packages you want separated by spaces. You must have atleast one package to create a environment.
After the environment is created, you can source the environment :
source activate pelican-env
You can install packages here using one of the following :
conda install <PACKAGE-NAME>
When you have set up the environment and would like to share it, you can run the following to generate a .yml file
conda env export
I like to update by
environment.yml by running the following
conda env export > environment.yml
 “Conda/conda,” GitHub.
 “Conda - A Cross-Platform Package Manager for Any Binary Distribution.”.