This tutorial explains what is Anaconda Python distribution, the features of Anaconda, and how to install Anaconda on Linux operating system.
Table of Contents
What is Anaconda distribution?
Anaconda is a cross-platform distribution of the Python and R programming languages. It is used for data science, machine learning, large-scale data processing and predictive analytics etc. Anaconda is available as four editions namely individual (open source) edition, commercial edition, team edition and enterprise edition. Anaconda individual edition is the world’s most popular Python distribution platform with over 20 million users worldwide. The Individual edition is free for personal use while the three other editions are commercial versions.
Anaconda ships with a command line package and virtual environment manager called Conda, which is used to manage and deploy applications, environments and packages. Conda was created for Python packages, however it can be used for other languages as well.
Using Conda utility, we can,
- Create new Conda environments,
- Install packages into specified Conda environment,
- List packages in a Conda environment,
- Update conda packages,
- Search for packages,
- Clean unused packages,
- Remove packages from environments,
- And more.
It also includes Anaconda Navigator, a graphical alternative for those who are not comfortable with the command line interface.
Anaconda features
Anaconda distribution enables the data scientists to:
- download a collection of over 1500+ Python and R data science packages,
- manage libraries, packages and virtual environments,
- develop and train machine learning and deep learning models,
- analyze data,
- and visualize results using various tools.
Install Anaconda On Linux
As stated already, Anaconda Python distribution comes as free and paid editions. The Individual edition is free for personal use and learning purposes. For the purpose of this guide, I will be using Anaconda Individual edition.
Before installing Anaconda distribution on your Linux machine, make sure you have installed all required prerequisites.
If you are using Arch Linux and its derivatives like Manjaro Linux, install the following prerequistes:
$ sudo pacman -Sy libxau libxi libxss libxtst libxcursor libxcomposite libxdamage libxfixes libxrandr libxrender mesa-libgl alsa-lib libglvnd
On Debian, Ubuntu and other DEB-based systems:
$ sudo apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
On Fedora, CentOS, RHEL, AlmaLinux:
$ sudo dnf install libXcomposite libXcursor libXi libXtst libXrandr alsa-lib mesa-libEGL libXdamage mesa-libGL libXScrnSaver
On SUSE/openSUSE:
$ sudo zypper install libXcomposite1 libXi6 libXext6 libXau6 libX11-6 libXrandr2 libXrender1 libXss1 libXtst6 libXdamage1 libXcursor1 libxcb1 libasound2 libX11-xcb1 Mesa-libGL1 Mesa-libEGL1
After installing the prerequisites, download the latest Anaconda installer for Linux from Anaconda official download page:
$ wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
Go to the location where you downloaded the Anaconda installer and check the integrity of the downloaded file with SHA-256
:
$ sha256sum Anaconda3-2021.05-Linux-x86_64.sh
You will see an output like below:
2751ab3d678ff0277ae80f9e8a74f218cfc70fe9a9cdc7bb1c137d7e47e33d53 Anaconda3-2021.05-Linux-x86_64.sh
Compare the above hash value with the official Hashes for Anaconda. If the hash value of the locally downloaded installer file matches with the official hash, you're good to go.
Now, start Anaconda installation using command:
$ bash Anaconda3-2021.05-Linux-x86_64.sh
You should include the bash
command regardless of the shell you're using.
Press ENTER to continue installation:
Welcome to Anaconda3 2021.05 In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>>
You will now see the license agreement. Press ENTER
key to scroll to the bottom of the license terms. If you don't want to read the whole license agreement, press q
to skip to the end of the license agreement.
Type “Yes” and press ENTER
to agree the license agreement and continue installation.
Do you accept the license terms? [yes|no]
[no] >>> yes
Next the installer will prompt where do you want to install Anaconda. You will be given three choices. Press ENTER
to accept the default install location. Press CTRL+C
to cancel the installation or mention an alternate installation directory.
I go with the default installation path, which is /home/sk/anaconda3
in my case.
[...] Anaconda3 will now be installed into this location: /home/sk/anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/home/sk/anaconda3] >>>
If you've chosen the default location, the installer will display PREFIX=/home/<user>/anaconda<2 or 3>
and continue the installation. It may take a few minutes to complete.
Next you will be prompted to initialize Anaconda. It is recommended to initialize it, so just type Yes
and press ENTER
to continue.
[...]
Preparing transaction: done
Executing transaction: done
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
After a few seconds, you will see “Thank you for installing Anaconda3!” message if the installation is successful.
[...]
==> For changes to take effect, close and re-open your current shell. <==
If you'd prefer that conda's base environment not be activated on startup,
set the auto_activate_base parameter to false:
conda config --set auto_activate_base false
Thank you for installing Anaconda3!
===========================================================================
Working with Python and Jupyter notebooks is a breeze with PyCharm Pro,
designed to be used with Anaconda. Download now and have the best data
tools at your fingertips.
PyCharm Pro for Anaconda is available at: https://www.anaconda.com/pycharm
For the installation to take effect, close and re-open your Terminal. Alternatively, run the following command:
$ source ~/.bashrc
You will now see the prefix (base) in front of your shell prompt. It means that the conda's base environment is activated.
(base) sk@ostechnix:~$
If you don't want the conda's base environment activated by default on system startup and wish to run conda from anywhere, run the following command:
$ conda config --set auto_activate_base false
$ source ~/.bashrc
Now you won't see the prefix (base) in your shell prompt.
Multi-user Anaconda installation on Linux
By default, Anaconda will be installed for the current user only. If you wish to install Anaconda for all system users, create a common group, for example condagroup
:
$ sudo group add condagroup
Replace condagroup
with your own.
Change the group ownership to condagroup on the entire directory where Anaconda is installed. In my case, Anaconda is installed in /home/sk/anaconda3
directory, so I ran the following command:
$ sudo chgrp -R condagroup /home/sk/anaconda3
Replace /home/sk/anaconda3
with the actual path to your installed Anaconda file.
Next, set read and write permission for the owner, root, and the condagroup only using command:
$ sudo chmod 770 -R /home/sk/anaconda3
Finally, add all users to the newly created "condagroup":
$ sudo adduser ostechnix condagroup
Here, ostechnix
is the user name and condagroup
is the group name.
From now on, the users added to the "condagroup" group can able to access Anaconda, install packages, and create environments etc.
We have successfully installed Anaconda on our Linux machine. Let us verify if the Anaconda is installed correctly or not.
Verify Anaconda installation
We can verify Anaconda installation from commandline and/or from Anaconda Navigator GUI.
To verify Anaconda installation from commandline, run the following command:
$ conda list
If Anaconda is properly installed and working, you will see list of installed packages and their versions as shown in the following output:
packages in environment at /home/sk/anaconda3: # Name Version Build Channel _ipyw_jlab_nb_ext_conf 0.1.0 py38_0 _libgcc_mutex 0.1 main alabaster 0.7.12 py_0 anaconda 2020.11 py38_0 anaconda-client 1.7.2 py38_0 anaconda-navigator 1.10.0 py38_0 anaconda-project 0.8.4 py_0 argh 0.26.2 py38_0 argon2-cffi 20.1.0 py38h7b6447c_1 asn1crypto 1.4.0 py_0 astroid 2.4.2 py38_0 [...]
The another method to verify the Anaconda installation is by entering into the Python shell.
To enter into Python shell, run:
$ python
This command will launch the Python shell. If Anaconda is installed and working, it will display "Anaconda, Inc." message as shown in the below output.
Python 3.8.8 (default, Apr 13 2021, 19:58:26)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
To exit the Python shell and go back to your shell prompt, enter the following command:
quit()
We can also verify Anaconda installation by opening Anaconda Navigator GUI.
Launch Anaconda Navigator graphical interface
We can manage packages and environments from command line using Conda
package manager. If you're a newbie and bit uncomfortable with commandline, just use Anaconda Navigator GUI.
To launch Anaconda Navigator graphical interface, run the following command from your Terminal:
$ anaconda-navigator
The default interface of Anaconda Navigator will look like below:
As you can see, the Anaconda navigator includes many popular IDEs by default. As of writing this guide, it has the following 10 IDEs:
- Datalore,
- IBM Watson Studio Cloud,
- JupyterLab,
- Jupyter Notebook,
- Qt Console,
- Spyder,
- Glueviz,
- Orange,
- PyCharm Professional,
- RStudio.
Among the 10 IDEs, the first 6 IDEs were installed by default. You can use any IDE of your choice to write, run and debug your code.
Well, Anaconda is working!
Activate and deactivate Conda environment
By default, a Conda environment named base
is created and activated.
If it is not activated by any chance, you can activate the Conda base environment using command:
$ conda activate
To deactivate it, run:
$ conda deactivate
Update Anaconda
Let first check the currently installed Conda version using command:
$ conda info
Sample output:
active environment : base active env location : /home/sk/anaconda3 shell level : 1 user config file : /home/sk/.condarc
populated config files : /home/sk/.condarc
conda version : 4.10.1
conda-build version : 3.21.4
python version : 3.8.8.final.0
virtual packages : __linux=5.12.5=0
__glibc=2.33=0
__unix=0=0
__archspec=1=x86_64
base environment : /home/sk/anaconda3 (writable)
conda av data dir : /home/sk/anaconda3/etc/conda
conda av metadata url : https://repo.anaconda.com/pkgs/main
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/sk/anaconda3/pkgs
/home/sk/.conda/pkgs
envs directories : /home/sk/anaconda3/envs
/home/sk/.conda/envs
platform : linux-64
user-agent : conda/4.10.1 requests/2.25.1 CPython/3.8.8 Linux/5.12.5-300.fc34.x86_64 fedora/34 glibc/2.33
UID:GID : 1000:1000
netrc file : None
offline mode : False
As you see, the current Conda version is 4.10.1
.
Let us run the following command to see if there is any latest Conda version available:
$ conda update -n base conda
If there are any updates available, you will be prompted to update them. Just type y
to install the updates:
To update all packages to the latest version of Anaconda, run:
$ conda update anaconda
Run a simple Python program from Python shell
Launch Python shell using command:
$ python
You will now see the >>>
sign. It means you're in Python shell.
Inside the Python shell, type your code. For example, I type the following code:
print("Welcome to OSTechNix")
When you hit ENTER, you will see "Welcome to OSTechNix" message.
To exit the Python shell and go back to your shell prompt, enter the following command:
quit()
All done. We have installed Anaconda on our Linux machine, verified the Anaconda installation from command line as well as from Anaconda GUI, and finally run a sample Python program from Python shell.
In our upcoming articles, we will learn more about Anaconda Navigator GUI, Python IDEs, and Conda command line interface, creating virtual environments with Conda etc.
- Get Started With Anaconda Navigator Graphical Interface
- Enable Conda-forge Channel For Conda Package Manager
- Create NodeJS Virtual Environments Using Conda In Linux
- Create Rust Virtual Environments Using Conda In Linux
- Create Golang Virtual Environments Using Conda In Linux
If you don't use Anaconda anymore, you can remove it from your system as shown below.
Uninstall Anaconda
First, you need to Install "anaconda-clean" module which is used to completely uninstall Anaconda from your system.
$ conda install anaconda-clean
Next, run the following command to remove Anaconda:
$ anaconda-clean --yes
Here, the --yes
flag is used to delete all config files and directories.
The above command will create a backup directory called .anaconda_backup in your $HOME directory.
Backup directory: /home/sk/.anaconda_backup/2021-02-24T183205
And then, delete the entire Anaconda directory and the backup directory using commands:
$ rm -fr ~/anaconda3/
$ rm -fr ~/.anaconda_backup/
Finally, delete all Anaconda entries from your ~/.bashrc
file.
Make the backup of ~/.bashrc file, just in case:
$ cp ~/.bashrc ~/.bashrc.bak
Open ~/.bashrc
file using your preferred editor:
$ nano ~/.bashrc
Find the following lines and delete them. Please double check the lines before deleting them.
>>> conda initialize >>> !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/home/sk/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/home/sk/anaconda3/etc/profile.d/conda.sh" ]; then . "/home/sk/anaconda3/etc/profile.d/conda.sh" else export PATH="/home/sk/anaconda3/bin:$PATH" fi fi unset __conda_setup <<< conda initialize <<<
Finally, run the following command to take effect the changes immediately:
$ source ~/.bashrc
That's it. Anaconda has been removed from your system.
Try Miniconda, a minimal version of Anaconda
Anaconda installs around 1500 scientific packages and requires 3 GB disk space. If you use only a few packages from Anaconda distribution, there is no point of keeping 1500+ packages. It is just a waste of disk space. This is where Miniconda comes in help. Miniconda is a minimal and stripped-down version of Anaconda distribution. It contains only Conda package manager, Python and a small number of useful packages. If you require a few applications, Miniconda might be a good choice. To know how to install Miniconda, refer the following link.
Resource:
1 comment
We use the miniconda version for users in a multiuser environment. They can install it in their own home folders without elevated rights and without a sysadmin maintaining conda system wide.