How To Install the Anaconda Python Distribution on Ubuntu 20.04

Updated on March 23, 2022
How To Install the Anaconda Python Distribution on Ubuntu 20.04
Not using Ubuntu 20.04?Choose a different version or distribution.
Ubuntu 20.04


Anaconda is an open-source package manager, environment manager, and distribution of the Python and R programming languages. It is commonly used for data science, machine learning, large-scale data processing, scientific computing, and predictive analytics.

Offering a collection of over 1,000 data science packages, Anaconda is available in both free and paid enterprise versions. The Anaconda distribution ships with the conda command-line utility. You can learn more about Anaconda and conda by reading the official Anaconda Documentation.

This tutorial will guide you through installing the Python 3 version of Anaconda on an Ubuntu 20.04 server.


Before you begin with this guide, you should have a non-root user with sudo privileges set up on your server.

You can achieve this prerequisite by completing our Ubuntu 20.04 initial server setup guide.

Installing Anaconda

The best way to install Anaconda is to download the latest Anaconda installer bash script, verify it, and then run it.

Find the latest version of Anaconda for Python 3 at the Anaconda Downloads page. At the time of writing, the latest version is 2020.02, but you should use a later stable version if it is available.

Next, change to the /tmp directory on your server. This is a good directory to download ephemeral items, like the Anaconda bash script, which we won’t need after running it.

  1. cd /tmp

Use curl to download the link that you copied from the Anaconda website. We’ll output this to a file called anaconda.sh for quicker use.

  1. curl https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh --output anaconda.sh

We can now verify the data integrity of the installer with cryptographic hash verification through the SHA-256 checksum. We’ll use the sha256sum command along with the filename of the script:

  1. sha256sum anaconda.sh

You’ll receive output that looks similar to this:

2b9f088b2022edb474915d9f69a803d6449d5fdb4c303041f60ac4aefcc208bb anaconda.sh

You should check the output against the hashes available at the Anaconda with Python 3 on 64-bit Linux page for your appropriate Anaconda version. As long as your output matches the hash displayed in the sha2561 row, you’re good to go.

Now we can run the script:

  1. bash anaconda.sh

You’ll receive the following output:

Welcome to Anaconda3 2020.02 In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>>

Press ENTER to continue and then press ENTER to read through the license. Once you’re done reading the license, you’ll be prompted to approve the license terms:

Do you approve the license terms? [yes|no]

As long as you agree, type yes.

At this point, you’ll be prompted to choose the location of the installation. You can press ENTER to accept the default location, or specify a different location to modify it.

Anaconda3 will now be installed into this location: /home/sammy/anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/home/sammy/anaconda3] >>>

The installation process will continue. Note that it may take some time.

Once installation is complete, you’ll receive the following output:

... Preparing transaction: done Executing transaction: done installation finished. Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no] [no] >>>

Type yes so that you can initialize Anaconda3. You’ll receive some output that states changes made in various directories. One of the lines you receive will thank you for installing Anaconda.

... Thank you for installing Anaconda3! ...

You can now activate the installation by sourcing the ~/.bashrc file:

  1. source ~/.bashrc

Once you have done that, you’ll be placed into the default base programming environment of Anaconda, and your command prompt will change to be the following:

Although Anaconda ships with this default base programming environment, you should create separate environments for your programs and to keep them isolated from each other.

You can further verify your install by making use of the conda command, for example with list:

  1. conda list

You’ll receive output of all the packages you have available through the Anaconda installation:

# packages in environment at /home/sammy/anaconda3: # # Name Version Build Channel _ipyw_jlab_nb_ext_conf 0.1.0 py37_0 _libgcc_mutex 0.1 main alabaster 0.7.12 py37_0 anaconda 2020.02 py37_0 ...

Now that Anaconda is installed, we can go on to setting up Anaconda environments.

Setting Up Anaconda Environments

Anaconda virtual environments allow you to keep projects organized by Python versions and packages needed. For each Anaconda environment you set up, you can specify which version of Python to use and can keep all of your related programming files together within that directory.

First, we can check to see which versions of Python are available for us to use:

  1. conda search "^python$"

You’ll receive output with the different versions of Python that you can target, including both Python 3 and Python 2 versions. Since we are using the Anaconda with Python 3 in this tutorial, you will have access only to the Python 3 versions of packages.

Let’s create an environment using the most recent version of Python 3. We can achieve this by assigning version 3 to the python argument. We’ll call the environment my_env, but you’ll likely want to use a more descriptive name for your environment especially if you are using environments to access more than one version of Python.

  1. conda create --name my_env python=3

We’ll receive output with information about what is downloaded and which packages will be installed, and then be prompted to proceed with y or n. As long as you agree, type y.

The conda utility will now fetch the packages for the environment and let you know when it’s complete.

You can activate your new environment by typing the following:

  1. conda activate my_env

With your environment activated, your command prompt prefix will reflect that you are no longer in the base environment, but in the new one that you just created.

Within the environment, you can verify that you’re using the version of Python that you had intended to use:

  1. python --version
Python 3.8.2

When you’re ready to deactivate your Anaconda environment, you can do so by typing:

  1. conda deactivate

Note that you can replace the word source with . to achieve the same results.

To target a more specific version of Python, you can pass a specific version to the python argument, like 3.5, for example:

  1. conda create -n my_env35 python=3.5

You can inspect all of the environments you have set up with this command:

  1. conda info --envs
# conda environments: # base * /home/sammy/anaconda3 my_env /home/sammy/anaconda3/envs/my_env my_env35 /home/sammy/anaconda3/envs/my_env35

The asterisk indicates the current active environment.

Each environment you create with conda create will come with several default packages:

  • _libgcc_mutex
  • ca-certificates
  • certifi
  • libedit
  • libffi
  • libgcc-ng
  • libstdcxx-ng
  • ncurses
  • openssl
  • pip
  • python
  • readline
  • setuptools
  • sqlite
  • tk
  • wheel
  • xz
  • zlib

You can add additional packages, such as numpy for example, with the following command:

  1. conda install --name my_env35 numpy

If you know you would like a numpy environment upon creation, you can target it in your conda create command:

  1. conda create --name my_env python=3 numpy

If you are no longer working on a specific project and have no further need for the associated environment, you can remove it. To do so, type the following:

  1. conda remove --name my_env35 --all

Now, when you type the conda info --envs command, the environment that you removed will no longer be listed.

Updating Anaconda

You should regularly ensure that Anaconda is up-to-date so that you are working with all the latest package releases.

To do this, you should first update the conda utility:

  1. conda update conda

When prompted to do so, type y to proceed with the update.

Once the update of conda is complete, you can update the Anaconda distribution:

  1. conda update anaconda

Again, when prompted to do so, type y to proceed.

This will ensure that you are using the latest releases of conda and Anaconda.

Uninstalling Anaconda

If you are no longer using Anaconda and find that you need to uninstall it, you should start with the anaconda-clean module, which will remove configuration files for when you uninstall Anaconda.

  1. conda install anaconda-clean

Type y when prompted to do so.

Once it is installed, you can run the following command. You will be prompted to answer y before deleting each one. If you would prefer not to be prompted, add --yes to the end of your command:

  1. anaconda-clean

This will also create a backup folder called .anaconda_backup in your home directory:

Backup directory: /home/sammy/.anaconda_backup/2020-05-06T024432

You can now remove your entire Anaconda directory by entering the following command:

  1. rm -rf ~/anaconda3

Finally, you can remove the PATH line from your .bashrc file that Anaconda added. To do so, first open a text editor such as nano:

  1. nano ~/.bashrc

Then scroll down to the end of the file (if this is a recent install) or type CTRL + W to search for Anaconda. Delete or comment out this Anaconda block:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/sammy/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
    if [ -f "/home/sammy/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/sammy/anaconda3/etc/profile.d/conda.sh"
        export PATH="/home/sammy/anaconda3/bin:$PATH"
unset __conda_setup
# <<< conda initialize <<<

When you’re done editing the file, type CTRL + X to exit and y to save changes.

Anaconda is now removed from your server. If you did not deactivate the base programming environment, you can exit and re-enter the server to remove it.


This tutorial walked you through the installation of Anaconda, working with the conda command-line utility, setting up environments, updating Anaconda, and deleting Anaconda if you no longer need it.

You can use Anaconda to help you manage workloads for data science, scientific computing, analytics, and large-scale data processing. From here, you can check out our tutorials on data analysis and machine learning to learn more about various tools available to use and projects that you can do.

We also have a free machine learning ebook available for download, Python Machine Learning Projects.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

What should I do if I use the 2020.02 before realizing that I should have used a newer one? Is it ok to just run the installer again using the latest version?

This comment has been deleted

    Your blog provided us with important information to work with.

    Thank you for giving great knowledge about anaconda python

    Great tutorial, thanks a lot, very easy to learn from.

    how about the anaconda navigator ?

    thank you so much

    Flawless and excellent training :)))) I really enjoyed thanks Lisa =)

    Information will be helpful for me.

    the installation fails on the step:

    Anaconda3 will now be installed into this location:
      - Press ENTER to confirm the location
      - Press CTRL-C to abort the installation
      - Or specify a different location below
    [/home/sammy/anaconda3] >>> 

    it shows errors like:

    Traceback (most recent call last):
      File "entry_point.py", line 76, in <module>
      File "tarfile.py", line 2002, in extractall
      File "tarfile.py", line 2044, in extract
      File "tarfile.py", line 2114, in _extract_member
      File "tarfile.py", line 2163, in makefile
      File "tarfile.py", line 249, in copyfileobj
    tarfile.ReadError: unexpected end of data
    [9590] Failed to execute script entry_point
    Traceback (most recent call last):
      File "concurrent/futures/process.py", line 367, in _queue_management_worker
      File "multiprocessing/connection.py", line 251, in recv
    TypeError: __init__() missing 1 required positional argument: 'msg'
    The above exception was the direct cause of the following exception:
    Traceback (most recent call last):
      File "entry_point.py", line 69, in <module>
      File "concurrent/futures/process.py", line 483, in _chain_from_iterable_of_lists
      File "concurrent/futures/_base.py", line 598, in result_iterator
      File "concurrent/futures/_base.py", line 435, in result
      File "concurrent/futures/_base.py", line 384, in __get_result
    concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
    [9593] Failed to execute script entry_point

    i’m using ubuntu 20 with python 3.8.2

    Try DigitalOcean for free

    Click below to sign up and get $200 of credit to try our products over 60 days!

    Sign up

    Join the Tech Talk
    Success! Thank you! Please check your email for further details.

    Please complete your information!

    Featured on Community

    Get our biweekly newsletter

    Sign up for Infrastructure as a Newsletter.

    Hollie's Hub for Good

    Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

    Become a contributor

    Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

    Welcome to the developer cloud

    DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

    Learn more
    DigitalOcean Cloud Control Panel