Using conda to manage packages
python, acaconda, conda, environment, pip, conda vs pip
Why use conda
The following quote is from Conda’s github page [1]
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
How to
One simple way to start is to first specify a environment.yml
file
# 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 at least 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
References
Reuse
Citation
@online{krishnamurthy2015,
author = {Krishnamurthy, Dheepak},
title = {Using Conda to Manage Packages},
date = {2015-12-25},
url = {https://kdheepak.com/blog/using-conda-to-manage-packages/},
langid = {en}
}