Cómo instalar la distribución Python Anaconda en Ubuntu

Anaconda es un gestor de paquetes de código abierto, un gestor de entornos y una distribución de los lenguajes Python y R. Incluye más de 1500 paquetes de código abierto para su uso en cualquier plataforma. Se utiliza para el aprendizaje automático, la ciencia de datos, el procesamiento de datos, la informática científica y el análisis predictivo. Anaconda está disponible en versiones gratuitas y de pago.

Este tutorial te enseñará a instalar la Distribución Python Anaconda en el sistema Ubuntu 20.04. También aprenderás a instalar entornos Anaconda y a configurarlos.

Requisitos previos

  1. Un servidor con Ubuntu 20.04.
  2. Un usuario no root con privilegios sudo.
  3. Asegúrate de que todo está actualizado.
    $ sudo apt update
    $ sudo apt upgrade
    

Descargar Anaconda

Anaconda no está disponible en el repositorio oficial de Ubuntu. Por lo tanto, utilizaremos el script bash de Anaconda disponible en su sitio oficial para la instalación.

Consigue la última versión de Anaconda para Python 3 en la página oficial de descargas. En el momento de escribir esto, 2021.05 es la última versión disponible.

Descarga el instalador utilizando el siguiente comando.

$ curl https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh --output anaconda.sh

Ejecuta el siguiente comando para encontrar la suma de comprobación SHA-256 del instalador.

$ sha256sum anaconda.sh
2751ab3d678ff0277ae80f9e8a74f218cfc70fe9a9cdc7bb1c137d7e47e33d53  anaconda.sh

Podemos utilizar este hash para verificar la integridad del instalador. Comprueba el valor anterior con los hashes disponibles en la página Anaconda con Python 3 en Linux de 64 bits para la versión que te hayas descargado.

Verificación Hash Anaconda

Instala Anaconda

Ahora que nuestros hashes coinciden ejecuta el siguiente comando para ejecutar el instalador.

$ bash anaconda.sh

Recibirás la siguiente salida.

Welcome to Anaconda3 2021.05

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

Pulsa Intro para continuar y vuelve a pulsar Intro para leer la licencia. Cuando hayas terminado, escribe para aceptar los términos de la licencia.

Do you accept the license terms? [yes|no]
>>>

A continuación, se te pedirá la ubicación de la instalación. Pulsa Intro para predeterminar la ubicación o especifica una diferente.

Anaconda3 will now be installed into this location:
/home/navjot/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/navjot/anaconda3] >>>

El proceso de instalación se iniciará y continuará durante algún tiempo. Una vez finalizada la instalación, se te pedirá de nuevo que inicialices Anaconda 3.

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

Escribe para continuar. Anaconda procederá entonces a realizar algunos cambios en algunos de los directorios para que funcione. Si la instalación se realiza correctamente, recibirás el siguiente mensaje.

==> 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!

===========================================================================

Activa la instalación accediendo al archivo ~/.bashrc.

$ source ~/.bashrc

Deberías ver la siguiente salida.

(base) navjot@howtoforge:~$

Esto indica el entorno de programación por defecto base. Deberías crear entornos separados para tus aplicaciones para mantenerlas aisladas unas de otras.

Para verificar tu instalación, puedes ejecutar el siguiente comando para comprobar la información de configuración actual.

(base) navjot@howtoforge:~$ conda info

Deberías recibir la siguiente salida.

     active environment : base
    active env location : /home/navjot/anaconda3
            shell level : 1
       user config file : /home/navjot/.condarc
 populated config files :
          conda version : 4.10.1
    conda-build version : 3.21.4
         python version : 3.8.8.final.0
       virtual packages : __linux=5.4.72=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/navjot/anaconda3  (writable)
      conda av data dir : /home/navjot/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/navjot/anaconda3/pkgs
                          /home/navjot/.conda/pkgs
       envs directories : /home/navjot/anaconda3/envs
                          /home/navjot/.conda/envs
               platform : linux-64
             user-agent : conda/4.10.1 requests/2.25.1 CPython/3.8.8 Linux/5.4.72-microsoft-standard-WSL2 ubuntu/20.04.2 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

Configurar entornos Anaconda

Tener entornos virtuales separados para tus aplicaciones Python te permite mantener tus proyectos utilizando diferentes versiones y paquetes de Python.

Comprobemos las distintas versiones de Python disponibles con el siguiente comando.

(base) navjot@howtoforge:~$ conda search "^python$"

Recibirás una lista de todas las versiones de Python 2 y 3 que puedes utilizar. Para el propósito de nuestro tutorial, nos ceñiremos a Python 3. Esto significa que sólo podrás acceder a paquetes compatibles con Python 3. El comando anterior utiliza una búsqueda de expresión regular para buscar versiones de Python en la que el carácter ^ especifica el inicio del término de búsqueda y $ el final del término.

Crea un entorno utilizando la última versión de Python. Ejecuta el siguiente comando para crear un nuevo entorno basado en Python 3 llamado py3env.

(base) navjot@howtoforge:~$ conda create --name py3env python=3

El comando anterior descargará todos los paquetes para el entorno y te pedirá confirmación. Escribe y para terminar de crear el entorno.

Activa el entorno utilizando el siguiente comando.

(base) navjot@howtoforge:~$ conda activate py3env

Tu shell reflejará el entorno recién creado.

(py3env) navjot@howtoforge:~$  

Verifica la versión de Python.

(py3env) navjot@howtoforge:~$ python --version
Python 3.10.0

Para desactivar tu entorno, utiliza el siguiente comando.

(py3env) navjot@howtoforge:~$ conda deactivate

Para activar otro entorno con una versión diferente de python, utiliza el siguiente comando.

(base) navjot@howtoforge:~$ conda create -n py37env python=3.7

Puedes comprobar todos los entornos disponibles utilizando el siguiente comando.

(base) navjot@howtoforge:~$ conda info --envs
# conda environments:
#
base                  *  /home/navjot/anaconda3
py37env                  /home/navjot/anaconda3/envs/py37env
py3env                   /home/navjot/anaconda3/envs/py3env 

El asterisco(*) indica el entorno actualmente activo.

Utiliza el siguiente comando para eliminar un entorno existente.

(base) navjot@howtoforge:~$ conda --name py37env --all

Siempre que quieras volver al entorno `base`, utiliza el comando conda activate sin especificar ningún entorno. No se recomienda utilizar conda deactivate, ya que si ejecutas ese comando desde dentro del entorno `base`, puedes perder la capacidad de ejecutar Conda temporalmente.

Configurar los entornos de Conda

Pasa al entorno py3env creado anteriormente.

(base) navjot@howtoforge:~$ conda activate py3env

Cada vez que creas un nuevo entorno, conda instala varios paquetes por defecto. Puedes obtener una lista de ellos utilizando el siguiente comando.

(py3env) navjot@howtoforge:~$ conda list

Obtendrás la siguiente salida.

# packages in environment at /home/navjot/anaconda3/envs/py3env:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
_openmp_mutex             4.5                       1_gnu
bzip2                     1.0.8                h7b6447c_0
ca-certificates           2021.9.30            h06a4308_1
certifi                   2020.6.20          pyhd3eb1b0_3
ld_impl_linux-64          2.35.1               h7274673_9
libffi                    3.3                  he6710b0_2
libgcc-ng                 9.3.0               h5101ec6_17
libgomp                   9.3.0               h5101ec6_17
libstdcxx-ng              9.3.0               hd4cf53a_17
libuuid                   1.0.3                h7f8727e_2
ncurses                   6.2                  he6710b0_1
openssl                   1.1.1l               h7f8727e_0
pip                       21.2.4          py310h06a4308_0
python                    3.10.0               h12debd9_1
readline                  8.1                  h27cfd23_0
setuptools                58.0.4          py310h06a4308_0
sqlite                    3.36.0               hc218d9a_0
tk                        8.6.11               h1ccaba5_0
tzdata                    2021a                h5d7bf9c_0
wheel                     0.37.0             pyhd3eb1b0_1
xz                        5.2.5                h7b6447c_0
zlib                      1.2.11               h7b6447c_3

Si quieres instalar un paquete adicional, utiliza el siguiente comando. Aquí estamos instalando el popular paquete numpy utilizado para cálculos científicos que permite operaciones con matrices, álgebra lineal y más.

(py3env) navjot@howtoforge:~$ conda install numpy

Si quieres instalar un paquete en otro entorno cuando no está activo, puedes hacerlo de la siguiente manera.

(py3env) navjot@howtoforge:~$ conda install --name py37env numpy

También puedes instalar paquetes adicionales mientras creas un nuevo entorno.

(py3env) navjot@howtoforge:~$ conda create --name py3env1 python=3 numpy

Para instalar varios paquetes a la vez, utiliza el siguiente comando.

(py3env) navjot@howtoforge:~$ conda install scipy curl

Anaconda también puede utilizarse para crear entornos para trabajar con el lenguaje R. Ejecuta el siguiente comando para crear un nuevo entorno con lenguaje R incluyendo los paquetes r-essentials y r-base.

(base) navjot@howtoforge:~$ conda create --name renv r-essentials r-base

Activa el entorno recién creado.

(base) navjot@howtoforge:~$ conda activate renv

Lista los paquetes en el entorno recién creado.

(renv) navjot@howtoforge:~$ conda list

Actualizar Anaconda

Actualizar Anaconda puede hacerse con un par de comandos. El primer paso es actualizar el paquete conda.

(base) navjot@howtoforge:~$ conda update conda

Cuando se te solicite, escribe y para proceder a la actualización.

El siguiente paso es actualizar la distribución de Anaconda.

(base) navjot@howtoforge:~$ conda update anaconda

Escribe y para finalizar el proceso de actualización.

Puedes actualizar los paquetes del mismo modo. Para actualizar el paquete numpy, utiliza el siguiente comando.

(base) navjot@howtoforge:~$ conda update numpy

Como no hemos especificado el entorno, actualizará el paquete instalado en el entorno actual. Para actualizar el paquete en un entorno diferente, utiliza el siguiente comando.

(base) navjot@howtoforge:~$ conda update --name py37env numpy

Desinstalar Anaconda

Para desinstalar Anaconda, necesitas instalar el módulo anaconda-clean. Este módulo eliminará todos los archivos de configuración junto con la distribución de Anaconda.

(base) navjot@howtoforge:~$ conda install anaconda-clean

Escribe y para completar la instalación.

Ejecuta el siguiente comando para ejecutar el paquete anaconda-clean. Se te pedirá que introduzcas y para cada paquete.

(base) navjot@howtoforge:~$ anaconda-clean

Para saltarte las indicaciones de confirmación, utiliza en su lugar el siguiente comando.

(base) navjot@howtoforge:~$ anaconda-clean --yes

Escribe yes para finalizar la desinstalación de Anaconda. Este comando también crea una copia de seguridad en el directorio ~/.anaconda_backup.

Debes eliminar el directorio ~/anaconda3 para terminar de eliminar todos los archivos sobrantes.

$ rm -rf ~/anaconda3

El último paso es eliminar el código sobrante del archivo ~/.bashrc. Abre el archivo para editarlo.

$ nano ~/.bashrc

Desplázate hasta el final del archivo y localiza el siguiente bloque de código.

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

Elimina todo el código y guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida.

La distribución Anaconda está finalmente eliminada de tu servidor. Si no has desactivado el entorno de programación base, puedes hacerlo cerrando la sesión y volviendo a entrar en tu servidor.

Conclusión

Con esto concluye nuestro tutorial sobre la instalación y configuración de la distribución Anaconda Python en un servidor Ubuntu 20.04. Si tienes alguna pregunta, publícala en los comentarios a continuación.

También te podría gustar...