One place for hosting & domains


      How To Install the Anaconda Python Distribution on Debian 9


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

      Available in both free and paid enterprise versions, Anaconda offers a collection of over 1,000 data science packages. 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 a Debian 9 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 Debian 9 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 Downloads page accessible via the Anaconda home page. At the time of writing, the latest version is 5.2, 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.

      We’ll use the curl command-line tool to download the script. Install curl:

      Now, use curl to download the link that you copied from the Anaconda website:

      • curl -O

      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:

      • sha256sum

      You’ll receive output that looks similar to this:



      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:

      • bash

      You’ll receive the following output:


      Welcome to Anaconda3 5.2.0 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:


      ... installation finished. Do you wish the installer to prepend the Anaconda3 install location to PATH in your /home/sammy/.bashrc ? [yes|no] [no] >>>

      Type yes so that you can use the conda command. You’ll receive the following output next:


      Appending source /home/sammy/anaconda3/bin/activate to /home/sammy/.bashrc A backup will be made to: /home/sammy/.bashrc-anaconda3.bak ...

      Finally, you’ll receive the following prompt regarding whether or not you would like to download Visual Studio Code (or VSCode), a free and open-source editor for code developed by Microsoft that can run on Linux. You can learn more about the editor on the official Visual Studio Code website.

      At this point, you can decide whether or not to download the editor now by typing yes or no.

      Anaconda is partnered with Microsoft! Microsoft VSCode is a streamlined
      code editor with support for development operations like debugging, task
      running and version control.
      To install Visual Studio Code, you will need:
        - Administrator Privileges
        - Internet connectivity
      Visual Studio Code License:
      Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]

      In order to activate the installation, you should source the ~/.bashrc file:

      Once you have done that, you can verify your install by making use of the conda command, for example with 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 py36he11e457_0 alabaster 0.7.10 py36h306e16b_0 anaconda 5.2.0 py36_3 ...

      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:

      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.

      • 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:

      With your environment activated, your command prompt prefix will change:

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


      Python 3.7.0 :: Anaconda, Inc.

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

      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:

      • conda create -n my_env35 python=3.5

      You can update your version of Python along the same branch (as in updating Python 3.5.1 to Python 3.5.2) within a respective environment with the following command:

      If you would like to target a more specific version of Python, you can pass that to the python argument, as in python=3.3.2.

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


      # 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:

      • openssl
      • pip
      • python
      • readline
      • setuptools
      • sqlite
      • tk
      • wheel
      • xz
      • zlib

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

      • 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:

      • 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:

      • 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:

      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:

      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.

      • 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:


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


      Backup directory: /home/sammy/.anaconda_backup/2018-09-06T183049

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

      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:

      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 the export PATH line:


      # added by Anaconda3 installer
      export PATH="/home/sammy/anaconda3/bin:$PATH"

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

      Anaconda is now removed from your server.


      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.

      Source link

      CentOS vs Ubuntu: Choosing the Right Linux Distribution for Your Server

      CentOS, Ubuntu, Debian, Fedora, RHEL, OpenSUSE, FreeBSD, Manjaro—the list of Linux distributions goes on and on. In fact, there are literally hundreds of distributions (a.k.a. distros) a Linux fanatic can choose from, and while not all stay active forever, 791 have existed since 2001, according to the DistroWatch database.1

      Despite the multitude of options, there are two distributions we see customers requesting most often for their dedicated servers: CentOS and Ubuntu. This post delves into the similarities, differences, and general IT user sentiment for these popular distros.

      Let’s start with a quick look at how these two stack up in terms of known website usage, as reported by

      As you can see, it’s a close race. Ubuntu is used by slightly more sites, as well as by more high traffic sites, with CentOS close behind. We’ll unpack some of the reasons why that might be, but first, here’s an overview of each respective distribution.

      Ubuntu Overview

      Based on the Debian architecture, Ubuntu was used early on for personal computers but has since become a household name in server-class computing and cloud environments. Ubuntu runs on the most popular architectures, including Intel, AMD, and ARM-based machines.

      Oh, and a fun fact: it’s named after the South African philosophy of ubuntu, which translates to “human-ness,” “humanity to others,” or “I am what I am because of who we all are.”3

      Ubuntu is known for its frequent update release cycles, which occurs publicly every six months with free support for a particular release for nine months following. Additionally, starting with Ubuntu 6.06, there’s a major release every two years that receives long-term support (LTS) for five years. These releases support hardware and integration for all updates in that series (i.e., 6.0X).

      Relative to other popular Linux distributions, Ubuntu is incredibly feature rich and friendly to developers looking to stay on the cutting edge. That said, it takes more support to stay up to date with the release cycle than some of the other distros, CentOS included. This can sometimes be seen as a con to going all-in on Ubuntu. More features and more releases can mean more complexity.

      Ubuntu utilizes the Advanced Package Tool (APT) using DEB packages for software management.

      Suggested Ubuntu-based alternatives: Linux Mint (desktop), elementary OS (desktop), Zorin OS (desktop), Pinguy OS (desktop), Trisquel GNU/Linux (free software), Bodhi Linux (desktop with Enlightenment) 

      CentOS Overview

      A free variant of Red Hat Enterprise Linux (RHEL), CentOS is known for its stability and support from their far-reaching community of enthusiasts. This Linux distribution falls in line with enterprise class needs and provides IT users a reliable way to deliver their applications and services. With a less-frequent release cycle than Ubuntu and others, CentOS typically requires less support and development expertise. Major release cycles happen every 2-3 years, which follows the RHEL release cycle.

      CentOS also comes with 7-10 years of free security updates. There’s an attractiveness to the fact that every version can serve for up to 10 years in that you don’t have to worry about major changes that could impact your applications, security, and user experience.

      Relative to Ubuntu, CentOS comes with fewer features, but this also makes it lightweight and consumes less of your compute resources. So if your applications are heavy, this operating system is one less resource-hungry area to worry about and factor into your growth model.

      CentOS utilizes the YUM graphical and command line utility using RPM packages for software management.

      Other RHEL clones and CentOS-based distributions: Scientific Linux, Springdale Linux, SME Server, Rocks Cluster Distribution, Oracle Enterprise Linux (according to

      Pros and Cons of Ubuntu and CentOS

      In some cases, a choice to go with Ubuntu over CentOS or vice versa comes down to personal preference. However, there are real pros and cons of each.


      Pros: Highly reliable and stable for enterprise workloads, a free variant of the well-trusted Red Hat Enterprise Linux (RHEL), each major version serves or up to 10 years with free security updates for 7-10 years, less support required, lightweight.

      Cons: Less frequent updates, lacks feature richness compared to other operating systems.


      Pros: Frequent updates, feature rich, leading edge, developer friendly, stable, support for five years for major releases.

      Cons: Higher resource consumption, less secure out of the box, requires more support to stay up to date.

      For a quick comparison, reference this side-by-side look from our friends at

      Take the Next Step

      As a managed infrastructure and cloud hosting provider, we’re fans of all things Linux (and Windows), and hope you found this article helpful. If you’d like to learn more about these Linux distributions, how you can use them on our platform, or just want to talk shop, drop a question in the comments or schedule a free consultation with one of SingleHop’s server OS experts.

       Links, References, Further Reading:

      2. Web Technology Surveys:,os-ubuntu
      3. TedBlog:
      4. Best-Web-Hosting:

      On-Demand, Enterprise-Class Dedicated Servers

      Power your mission-critical workloads with bare metal services only found at SingleHop.

      Source link