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
- Un servidor con Ubuntu 20.04.
- Un usuario no root con privilegios sudo.
- 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.
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 sí 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 sí 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.