Entornos de Python: común y Anaconda (base)
Este artículo está enfocado tanto en quien empieza a programar en Python desde lo básico como para los profesionales que deseen ponerse al día en entornos de Python. Está enfocado como si fuera un curso para entender y para terminar sabiendo usar el entorno de Python tanto el común como base de Anaconda para comprender claramente la diferencia entre ambos (los entornos virtuales de ambos los veremos en este otro artículo), y como se trabaja con los entornos de Python actualmente en el ámbito profesional.
Aunque instalar Python y ponerse a programar es muy sencillo, hoy día considero de expresa importancia tener muy claro los diferentes entornos de Python (comunes, base, virtuales, etc.) tanto para trabajar holgadamente con los diferentes entornos de Python sin que nos pille nada de sorpresa (por ejemplo ¿Qué es “base”? o ¿Qué es “venv”? se responderá a esto más adelante) como para saber el alcance de cada uno (Por ejemplo ¿Por qué no funciona un paquete que he instalado? Puede que sea porque está en otro entorno diferente dentro del mismo ordenador; o ¿Por qué se ejecuta con un Python antiguo si tengo instalado el Python más moderno? Por la configuración de los diferentes entornos; etc.).
Entornos de Python
Cuando instalemos Python (explico cómo se instala más adelante) de alguna de las maneras disponibles, tendremos en nuestro ordenador el ejecutable “python.exe” (pese a que en este ejemplo pongo “.exe” de Windows, si utilizas Linux o Mac funciona de manera semejante), que es el famoso “Interprete de Python”.
El intérprete de Python se pude llamar directamente desde la consola escribiendo “python” (ya que al instalar Python se habrá creado una variable de entorno del sistema apuntando hasta este ejecutable “python.exe”). Este ejecutable ejecutará Python en alguna de sus versiones (Python 2.8, Python 3.7, etc.); es decir, dependiendo de la versión de Python instalada, el mismo método puede estar más o menos optimizado, y se permitirá una sintaxis u otra.
Por otro lado, dentro de la misma instalación de Python (dentro de la carpeta donde están todos los archivos de Python) tendremos las carpetas con un montón de archivos que hacen funcionar a Python, siendo la más interesante la carpeta “Lib” (en Linux las bibliotecas se guardan de otra manera, pero el concepto es el mismo; esto lo veremos más adelante para cada uno de los sistemas operativos); en esta carpeta es donde estarán todas las bibliotecas preinstaladas de Python disponibles listas para que las usemos (como por ejemplo la biblioteca Math, que sirve para poder realizar operaciones matemáticas, como la raíz cuadrada, de una manera muy sencilla; entre otras muchas bibliotecas) y aquí se guardarán otras bibliotecas que podremos instalar en un futuro.
Si quisiéramos ampliar el contenido de la carpeta “Lib” podríamos descargar a mano alguna de las bibliotecas (llamadas “paquetes” en Python) y pegarlas dentro de esta carpeta “Lib”; sin embargo, mejor utilizar “un sistema de gestión de paquetes” que funcionará algo así como “una tienda de aplicaciones” gratuitas y nos ahorrará mucho trabajo ya que si una biblioteca tiene dependencias (que necesita de otras bibliotecas para funcionar), automáticamente instalará todo lo que necesite para trabajar directamente con la biblioteca sin más preocupaciones. El “sistema de gestión de paquetes” más utilizado en Python -y que suele venir preinstalado- es el llamado Pip y la página donde podremos consultar todas las bibliotecas es https://pypi.org/; por lo que, Pip se encargará de gestionar por nosotros el contenido de la carpeta “Lib” a la que esté apuntando (más adelante explico su instalación y uso completo con ejemplos).
Este es el “entorno de Python”, es decir, todo aquello que está al alcance de nuestro proyecto/código Python, como las bibliotecas que necesiten nuestro código de Python (de la carpeta “Lib”) y el intérprete de Python que ejecute a nuestro código de Python (el ejecutable “python.exe”) en concreto.
Por ejemplo, en nuestro ordenador escribimos un código de Python que usa la biblioteca Math ya que realizamos operaciones matemáticas; en el futuro, queremos copiar nuestro script a otro ordenador (que podrá tener el mismo entorno u otro diferente) que tiene instalado Python y lo queremos ejecutar, pero resulta que justo la biblioteca Math no la tiene ya que quien gestionaba ese ordenador decidió eliminarla por motivos de espacio (esto puede ser un servidor que tengan un “entorno de Python” peculiar), ocurrirá que nuestro código no se podrá ejecutar en este otro ordenador y nos devolverá un error (tendremos varias opciones: instalar la biblioteca Math si se puede; o muy a las malas, tendremos que crear/copiar el código de la operaciones que usemos de Math a mano).
Hoy día hay que diferenciar entre los tipos de “entorno de Python” que podremos utilizar en un mismo ordenador:
- Global (base): es el entorno base que afecta a todos los proyectos (aunque no tiene porqué ser utilizado directamente por un proyecto).
- Particular por conjunto de proyectos: se puede crear un entorno (virtual) que pueden usar uno o varios proyectos a la vez.
- Particular por proyecto: entorno al que solo tiene acceso un único proyecto.
Como hemos dicho y como resumen rápido, dependerá del ejecutable Python (“python.exe”) y las bibliotecas (“Lib”) a las que tiene acceso un proyecto.
Entorno global (base)
Hoy día es muy común encontrarnos con estos tipos de entornos globales de Python:
- Python común (en inglés “stock Python”): Es el Python que se instala directamente en el sistema operativo y se puede usar el intérprete de Python directamente desde la consola del mismo sistema operativo.
- Python gestionado por un “sistema de gestión de paquetes” (como Anaconda): Es un Python gestionado por el gestor de paquetes y cuyo intérprete de Python no está accesible desde la consola normal del sistema; requiere acceder desde la consola del gestor de paquetes (por ejemplo, desde la consola de Anaconda y que además se llama “base”).
Se pueden tener ambos instalados a la vez (“Python común” y Python gestionado por un “sistema de gestión de paquetes”), pero cada interprete de Python estará por separado (son dos programas distintos, aunque los dos sean Python e incluso puedan coincidir la misma versión) y deberemos tener claro con qué entorno queremos ejecutar nuestro código cada vez si tenemos ambos instalados.
También se pueden tener varios “Python comunes” a la vez en diferentes rutas del sistema operativo (esto se suele hacer para tener varias versiones de Python en el mismo ordenador).
A continuación, cuento como se instala Python común y Python gestionado por un “sistema de gestión de paquetes” Anaconda (Si ya lo tienes instalado te puedes saltar estos puntos). Es importante instalar el que necesites, si dudas recomiendo instalar Anaconda, y si quieres entenderlo todo bien es mejor que instales ambos para aprender de los dos.
Instalar un IDE
Si instalas algún IDE (como Visual Studio, PyCharm, Spyder, Jupyter, etc.) por defecto apuntará a un entorno global, que será el que ejecute, aunque se podrá cambiar desde el propio IDE y hasta nos permitirá configurar diferentes entornos. E incluso algunos pueden traer su propio entorno de Python (que suelen instalar en la misma carpeta de instalación del IDE).
Realmente cada IDE por debajo abre una consola y escribe los comandos que se ven en este artículo, así que dependiendo de la consola que haya abierto el IDE ejecutará un entorno u otro (e igualmente se aplica a los entornos virtuales que ya veremos).
Si quieres saber más y cómo se instala uno (PyCharm en este caso) te recomiendo que eches un vistazo al vídeo que te hemos preparado en:
Instalar Python Común
En Windows desde la Microsoft Store: https://www.microsoft.com/en-us/p/python-38/9mssztt1n39l (para la versión 3.8, puede que haya salido otra más moderna que puedes consultar directamente en la búsqueda: https://www.microsoft.com/en-us/search?q=python) o desde la web oficial https://www.python.org/downloads/
Nota sobre los instaladores 32 bits y 64 bits: Asegúrate si estás trabajando en un sistema de 32 bits en instalar Python de 32 bits; lo mismo si estás trabajando con la versión del sistema operativo de 64 bites, que instales Python de 64 bits (confundir o mezclar las instalaciones nos dará error cuando queramos que funcione Python).
En Linux (suele venir preinstalado al menos en Ubuntu; puedes comprobarlo con el comando: python3 -V) se puede instalar con APT mediante el comando (comprueba la versión antes de instalar en https://www.python.org/downloads/):
sudo apt install python3.8
En Mac suele venir preinstalado o directamente es más fácil usar el “sistema de gestión de paquetes” Anaconda.
Se puede comprobar la instalación de Python en cualquier sistema operativo preguntando por la versión de Python desde la consola:
python3 -V
O bien:
python -V
Nota sobre estos dos comandos: depende de la variable de entorno creada será “python3” o “python” a secas. Tiende a confundir, aunque hoy día es lo mismo (aunque seguramente solo existirá una en tu ordenador, ojo con esto). Como curiosidad cuando convivían Python2 y Python3 se utilizaba el comando “python” para Python2 (también se veía por ahí como “python2”) y “python3” para Python3 ya que estaban los dos instalados a la vez sobre el mismo ordenador (el motivo era para que no dejaran de funcionar scripts de Python antiguos y poder programar con el Python nuevo); hoy día con Python3 siendo único (Python2 ya no tiene soporte) es indiferente como se llame, pero hay que saber cómo se llama (y puede que todavía te encuentres con algún sistema que tenga las dos variables), suele tender a ser otra vez “python” a secas ya que es más fácil.
Rutas por defecto donde se instala el ejecutable de Python (“VV” es la versión de Python instalada):
- Windows: C:\Users\<usuario>\AppData\Local\Programs\Python\PythonVV-VV\python.exe
- Linux/Mac: /usr/bin/pythonVV
Rutas por defecto donde está la carpeta “Lib”:
- Windows: C:\Users\<usuario>\AppData\Local\Programs\Python\PythonVV-VV\Lib\
- Linux/Mac: /usr/lib/pythonVV
Información adicional sobre la instalación:
- Windows: https://docs.python.org/3/using/windows.html
- Unix: https://docs.python.org/3/using/unix.html
- Mac: https://docs.python.org/3/using/mac.html
Instalar “sistema de gestión de paquetes” para Python: Anaconda
Descargar desde https://www.anaconda.com/products/individual e instalar.
Instalación paso a paso de Anaconda en vídeo en:
Rutas por defecto donde se instala el ejecutable de Python (“VV” es la versión de Python instalada):
- Windows: C:\Users\<usuario>\Anaconda3\python.exe
- Linux: /home/<usuario>/anaconda/bin/python
- Mac: /Users/<usuario>/anaconda/bin/Python
Rutas por defecto donde está la carpeta “Lib”:
- Windows: C:\Users\<usuario>\Anaconda3\Lib\
- Linux: /home/<usuario>/.anaconda/lib/pythonVV
- Mac: /Users/<usuario>/.anaconda/lib/pythonVV
Información adicional sobre la instalación: https://docs.anaconda.com/anaconda/install/
Probar un entorno de Python programando con Python
Maneras de programar en Python:
- Con el modo interactivo: Nos permitirá escribir código directamente y ejecutar cada una de las líneas. La limitación que tiene es que está en memoria RAM, es decir, que cuando cerremos la consola el código se perderá.
- Por fichero: Creamos un fichero con código Python dentro y lo ejecutamos. Normalmente se pone la extensión “.py” al fichero. Como es un fichero guardado en disco no perderemos el código de Python que escribamos si se cierra la consola (o si apagamos el ordenador) y podremos copiarlo a otros sitios (por ejemplo, a otros ordenadores).
Para ambas, lo primero que necesitamos es abrir una consola.
1. Abrir una consola
Abrimos la consola del sistema o la de Anaconda.
Para abrir la consola del sistema operativo simplemente abrimos una nueva terminal. En cualquier sistema operativo buscamos en su buscador la palabra “terminal” y la ejecutamos para abrirla (la siguiente imagen es del buscador de Windows; se aplica igual al resto de sistemas operativos con interfaz visual: Mac, Ubuntu, etc.).
O si queremos abrir la terminal de anaconda, escribiendo “Anaconda” en el buscador del sistema operativo nos mostrará uno que se llama “Anaconda promp”.
Nota sobre la terminal de Anconda: verás que antepone a la ruta entre paréntesis la palabra “(base)”, esto indica que el código Python que escribamos en esta consola serán interpretadas por el Python base (Python gestionado por Anaconda); como continuación a este artículo tienes el artículo sobre Entornos virtuales de Python para ver cómo cambiar desde este entorno a uno virtual y aprender a gestionarlo. Quiere decir que Anaconda ya nos gestiona el entorno de Python y por defecto no nos dejará ejecutar código directamente sobre su instalación global de Python.
Recomendación para aprender: recomiendo probar ambas consolas («Anaconda promp» y la consola del sistema).
2. “modo interactivo” de Python
En cualquiera de las terminales entra en el “modo interactivo” de Python escribiendo en la consola “python” y pulsando la tecla “Intro/Enter”:
python
Si no te funciona, prueba a escribir (como se comentó anteriormente, dependerá de la variable de entorno creada):
python3
Habrás entrado en el intérprete de Python (en este momento la consola ya no estará controlando al sistema; es decir, podrás escribir código Python, pero no podrás navegar por los directorios de tu ordenador hasta que salgas del intérprete de Python). Detrás de los tres símbolos mayor qué “>>>” podrás escribir código Python línea a línea.
Prueba a escribir un par de líneas de código en Python como imprimir un texto y ejecuta la línea de código pulsando la tecla “Intro/Enter”:
print("hola")
O suma un par de números:
2 + 5
Para salir del intérprete de Python escribe:
exit()
Para probar las bibliotecas globales (las que están en la carpeta “Lib”) podemos importar por ejemplo “Math”. Entra otra vez en el intérprete de Python y escribe:
from math import sqrt
Y prueba a realizar la raíz cuadrada de 9 (en la imagen siguiente te muestro que obtendrás un error si intentas utilizar este método antes de importar, y después de importar funcionará correctamente):
sqrt(9)
3. Ejecutar un fichero con código Python
El modo interactivo de Python anterior está muy bien para pequeñas pruebas en memoria RAM, pero lo más cómodo para mucho código y que se guarde en disco duro es crear un fichero con código de Python y ejecutarlo.
Un proyecto de Python es justo una carpeta que guarda ficheros con código Python listo para ejecutar (es un resumen rápido de proyecto Python, ya veremos sus partes).
Crea un fichero en tu sistema operativo que tenga un par de líneas de Python, por ejemplo, mostrar un texto y realizar una suma de números (para ver el resultado por consola utiliza el método “print”):
print("Ejecutando desde un fichero")
print(2+3)
Por ejemplo, yo he creado en el escritorio de mi ordenador un fichero con un bloc de notas en blanco (si usas la consola de Linux puedes crear este fichero con “Vim”; tienes una explicación sencilla de cómo se usa Vim con el ejemplo de crear un fichero con código en el artículo https://jarroba.com/usar-servidores-y-crear-una-web/ en el cuadro “Aprende a usar VIM en un par de minutos”) que he renombrado como “mi_script.py” (sin las comillas). Y un detalle muy importante, asegúrate de guardar el fichero.
Para ejecutar este fichero con código de Python simplemente escribimos en la terminal la palabra “python”, un espacio, seguido de la ruta completa hasta el fichero y pulsamos “Intro/Enter”; esto ejecutará el código Python guardado en le fichero. El ejemplo con la ruta hasta mi fichero:
python C:\Users\<usuario>\Desktop\mi_script.py
4. Gestor de paquetes PIP
Es importante saber cómo se utiliza este “gestor de paquetes” pues nos facilitará mucho gestionar los paquetes/bibliotecas en cada entorno de Python.
Abre la consola del sistema o la de Anaconda, en ambas funciona igual, pero en cada consola gestionará una carpeta “Lib” diferente (o la de “Python común” o la de “Anadonda”).
Para ello utilizaremos el gestor de paquetes PIP que suele venir pre-insatalado.
Comprobar e instalar PIP
Prueba si tienes instalado PIP con el comando (si da error es que no está bien configurado o no está instalado; si te aparece la versión es que está bien configurado y listo para usar):
pip --version
Al comando «pip» le pasa igual que los comando «python» y «python3», que depende del sistema puede que tengas que escribir «pip3» en vez de «pip» (normalmente van parejos, si tienes que escribir «python3» seguramente tengas que escribir «pip3»):
pip3 --version
En el caso de que no esté instalado PIP, te he creado un vídeo de cómo se instala en:
Nota si tienes instalado Anaconda: Anaconda por defecto trae PIP configurado, si estás trabajando con la consola de Anaconda te tiene que funcionar (no confundas la consola del sistema operativo con la consola de Anaconda).
Nota si tienes instalado tanto Python Común como Anaconda: puede que te funcione en una consola y no en la otra; al fin y al cabo, son entornos completamente diferentes.
Se pueden consultar todos los paquetes de PIP en el repositorio oficial: https://pypi.org/
O la instalación rápida de PIP paso a paso:
En Linux/Mac descarga el fichero get-pip.py:
curl https://bootstrap.pypa.io/get-pip.py > get-pip.py
Para instalar abre la consola y escribe (apunta a la ruta donde tengas “get-pip.py”, aquí estoy suponiendo que está en la misma ruta):
python get-pip.py
Puede que te haya aparecido en la consola el siguiente “WARNING”:
WARNING: The scripts pip, pip3 and pip3.8 are installed in '/home/<USUARIO>/.local/bin' which is not on PATH.
Copia la ruta sin las comillas para añadir PIP a la variable de entorno “PATH” y que el uso de PIP sea más sencillo. Para ello utiliza el siguiente comando remplazando la ruta por la que has copiado (pégala entre los dos puntos y la doble comilla de cierre):
export PATH="$PATH:/home/<USUARIO>/.local/bin"
En Windows (o desde un navegador en cualquier sistema operativo) descargar el fichero get-pip.py desde: https://bootstrap.pypa.io/get-pip.py
Instalar con el comando:
python get-pip.py
Y puede que te haya aparecido en la consola el siguiente “WARNING”:
WARNING: The scripts pip.exe, pip3.7.exe and pip3.exe are installed in 'C:\Users\<USUARIO>\AppData\Local\Programs\Python\Python37-32\Scripts' which is not on PATH.
Copia la ruta sin las comillas para añadir PIP a la variable de entorno “PATH” y que el uso de PIP sea más sencillo. Para ello busca en el buscador de Windows “Editar las variables de entorno del sistema”. En la ventana llamada “Propiedades del sistema” pulsa en el botón “Variables de entorno…”; en la siguiente ventana que se abre llamada “Variables de entorno” selecciona “Path” abajo en la sección “Variables del sistema” y pulsa el botón “Editar”; en la siguiente ventana llamada “Editar variable de entorno” pulsa el botón “Nuevo” y pega la ruta que has copiado “C:\Users\<USUARIO>\AppData\Local\Programs\Python\Python37-32\Scripts”; termina cerrando todas las ventanas pulsando “Aceptar”.
Es importante cerrar la consola de Windows y volver a abrirla para que use la nueva variable de entorno.
Tanto en Linux/Mac como en Windows, si ya tienes instalado PIP puedes eliminar el fichero get-pip.py, ya no nos servirá para nada más.
Vamos a consultar qué paquetes/bibliotecas hay instaladas dentro del entorno actual con el comando de PIP:
pip list --local
En la siguiente imagen te dejo un ejemplo y la comparativa de “Python común” a la izquierda y “la consola de Anaconda” a la derecha. Donde podrás ver que Anaconda tiene muchísimos paquetes en comparación, pues para eso sirve, para facilitar el uso rápido de Python al tener incorporadas un montón de bibliotecas/paquetes; al contrario del “Python común” que viene más vacío, para que lo configuremos a nuestro gusto.
Para este ejemplo voy a instalar el paquete “quick-queue” (es un desarrollo de código libre que hice para acelerar cerca de un 1800% respecto a la cola multiproceso -multiprocessing.queue- que trae Python incorporada, tienes más información en https://pypi.org/project/quick-queue/; para probar puedes instalar el paquete que quieras):
pip install quick-queue
Éste y sus dependencias (si las tiene) se instalarán gracias a PIP:
Volvemos a consultar las bibliotecas instaladas en el entorno actual:
pip list --local
Y ya solo nos queda utilizar el paquete que acabamos de instalar. Abrimos el intérprete de Python escribiendo (o crea un fichero con código Python como vimos antes):
python
E importamos el paquete que acabamos de instalar:
from quick_queue import QQueue
Si no da ningún error al importar es que funciona correctamente. Aunque si queremos podemos probarla y al terminar salir de la consola interactiva de Python escribiendo “exit()”, por ejemplo basta con obtener la clase (en la imagen pongo un ejemplo completo del uso de “quick_queue” que sin multitarea no tiene mucho más sentido de usar; la pongo más para que se vea que podemos usar el paquete que hemos importado y funcionará):
qq = QQueue()
exit()
Y, para terminar, si quieres desinstalar un paquete que hayamos instalado en el entorno de Python:
pip uninstall quick-queue
Continúa con los entornos virtuales de Python tanto en Python común como en Anaconda
Bibliografía
- https://www.python.org/
- https://docs.python.org/3/
- https://www.anaconda.com/
- https://docs.anaconda.com/
- https://pip.pypa.io/en/stable/
- https://pypi.org/
- https://docs.python.org/3/using/windows.html
- https://docs.python.org/3/using/unix.html
- https://docs.python.org/3/using/mac.html
- https://docs.anaconda.com/anaconda/install/
- Experiencia propia
¡¡Muchísimas gracias!! Está super bien explicado
Me alegra que te guste y que te sea útil!
Muchas gracias, con esto entendi muchas conceptos que no eran claros !!