

![]()











La experiencia personal de las distintas distribuciones de Python y los pormenores de sus instalaciones.
Índice
Introducción
La actual organización de esta página es por sistema operativo. Dentro de la sección dedicada a cada uno es posible encontrar apartados por versión o distribución.
En general, las alternativas para hacerse de Python son:
- Incluido como parte de la distribución del sistema operativo, para lo que no hay que hacer nada extra, sólo usarlo (ver lo referente a la «validación»).
- Incluido como parte (por ser necesario para que funcione) de algún otro software. Por ejemplo, Dataiku suele incluirlo pero no lo expone para ser usado por el sistema operativo o el usuario. Así, aunque en alguno de estos casos, éste pueda ser usado desde otros paquetes, aplicaciones, utilerías o shell del sistema operativo se recomienda no hacerlo ya que esa distribución de Python es para el software que la incluye y sus propósitos.
- Instalarlo como una utilería o aplicación más del sistema operativo, lo que se consigue en general desde el proyecto original, como alguna distribución. Aquí se considera que la instalación deja al intérprete de Python accesible a todos los usuarios del computador (aunque puede ser sólo para uno) y se accede sin tener que hacer nada adicional (en otras palabras, es el que se accede por defecto). Esto, ya sea porque el programa es agregado a la ruta de búsqueda de programas a ser ejecutados desde la línea de comando (la variable
PATH), se agrega un ícono para activarlo como un aplicación más en el entorno gráfico o se crean enlaces de terminal para ambientes de línea de comando donde puede usarse (tal es el caso de Anaconda en Windows). - A través de un administrador de paquetes como es el caso de Hombrew o Macports para macOS, o Chocolatey para Windows. Para este caso también, se considera que se deja un intérprete por defecto pero la instalación es más fácil de administrar que aquellas que hacen uso de un instalador.
- A través de un administrador de entornos virtuales (como es Anaconda o mini Conda). Está se considera la opción más adecuada si se busca y tener varias versiones de Python y diferentes espacios de desarrollo aislados y cada uno con propio conjunto de bibliotecas.
- Una última alternativa es la de descargar el código fuente del intérprete y construirlo (llevar a cabo la compilación) desde cero. El usuario decide si la instalación debe ser a nivel del sistema operativo, para la cuenta de usuario desde donde se hace la compilación o se queda en un directorio específico no necesariamente incluido en la variable de entorno
PATH.
Mac
Para el caso de Mac se identifican dos épocas: aquella en la que Python 2.7 era incluido en la distribución del sistema operativo y, la que siguió tras su remoción. La presencia de esa vieja versión de Python obligaba a ciertas consideraciones a tener presentes para la instalación. Así, se han dividido algunas partes de esta sección teniendo esto en consideración.
Independientemente de la versión de macOS, recuerde que si elige instalar una versión más reciente de Python, ya sea desde python.org, de algún otro distribuidor o proceder con una compilada y adecuada localmente, obtendrá al menos dos instalaciones de Python (la suya y la que pudiera traer ya la distribución del sistema operativo), diferentes pero funcionales, en su computadora. Por lo que será importante que sus rutas y usos sean coherentes con lo que se desea hacer.
Instalación
macOS 14

Relacionado con la necesidad de contar con un intérprete a nivel del sistema, se hizo una instalación de Python 3.12 con la descarga ofrecida desde el sitio de este lenguaje. Posteriormente, por necesidades de Dataiku, se instaló Python 3.11.
macOS 13
Si bien la instalación de Python en macOS siempre ha sido simple, con la dependencia de Python 2.7 finalmente removida del sistema operativo, lo hace mucho más simple eincluso innnecesario. Para efectos de desarrollo con los entornos virtuales puede ser lo único necesario.
macOS 12.3
La dependencia de Python 2.7 finalmente fue retirada por Apple con macOS 12.31. Sin esta restricción la instalación puede hacerse a nivel del sistema operativo sin problema.
macOS 12.2 y anteriores
Hay varias formas de instalar Python en Mac, de acuerdo con la distribución o instalador empleado. Todas estas son adicionales y alternativas a la que viene incluida con el sistema operativo. Antes de proceder con la instalación inicial o tratar de hacer una actualización conviene tener presente un punto importante. Dada la falta de compatibilidad retroactiva de Python 3.x+ con Python 2.7-, y que muchos scripts de administración pueden tener una dependencia específica sobre alguna versión en particular, no es buena idea cambiar la versión por defecto de Python del sistema operativo cuando ésta no es 3.x+. Antes de proceder con la instalación, lea todo lo que yo he anotado en las descripciones de cada sistema operativo aquí indicados y la declaración de responsabilidad de este sitio y valide que versión pudiera ya tener instalada.
macOS 12
Cuando elaboraba estas notas y la versión 12 de macOS era la más reciente, las descargas del sitio de python.org se ofrecían como «Intel» y «Universal2» (desde OS X 10.9 y en adelante) hasta Python v3.9.9. A partir de la versión 3.10 sólo se tenían para «Universal2«. A raíz de esto se exploró con más de detalle la construcción de Python a partir de sus archivos fuente.
La dependencia de Python 2.7 finalmente fue retirada por Apple con macOS 12.31.
OS X 10.9 – macOS 10.15




La instalación de un intérprete de Python en las versiones del sistema operativo que van de la 10.9 a la 10.15 se puede hacer tanto por un administrador de paquetes como por la de alguna distribución (e.g. Anaconda, Miniconda, o python.org). Cabe señalar que los administradores de paquetes como Macports, Homebrew y Miniconda están orientados a la instalación de componentes para ser usados por línea de comando. Anaconda provee elementos gráficos basados en el uso de un browser.
Mac OS X 10.7
En lo que respecta a Mac OS X 10.7 «Lion«, al ser un sistema operativo ya no soportado, debe buscarse la última versión compatible (de Python o del instalador/administrador de paquetes) en los archivos del sitio (archives) de los proyectos abajo indicados.
- MacPorts.
- Homebrew.
- python.org.
- Anaconda (en este caso Anaconda 4.3.1 fue la última version soportada).
Validación
Una forma de saber simplemente si Python se encuentra instalado es tratar de ejecutarlo y ver el resultado:
$ python
de presentarse un error porque el comando no es reconocido es muy probable que no se encuentre instalado Python (pero es necesario revistar el valor de PATH de cualquier forma). Otra forma es hacer uso del comando unix which:
$ which python
Sin embargo, esto no nos indica cuántas versiones podemos tener instaladas. Un locate o find pueden usarse pero regresarán cuanta cosa encuentren con el nombre «python». Una alternativa es preguntar por los conocidos nombres de los intérpretes, que usando BASH, sería por ejemplo:
$ for x in 2 3
> do
> for y in 0 1 2 3 4 5 6 7 8 9
> do
> which -a python$x.$y
> done
> done
/opt/local/bin/python2.7
/usr/bin/python2.7
/usr/local/bin/python3.6
$
Para validar qué versión responde a la invocación, emplear los comandos:
Python 2.4:
$ python -c 'import sys; print(sys.version)'
Python 2.5+:
$ python --version
o
$ python -V
Debe tenerse presente que esto solamente indica la versión activa y que se puede contar con varias versiones instaladas. Para conocer la versiones o implementaciones (32 ó 64 bits) en el equipo puede recurrirse a:
$ updatedb # sudo si se requieren permisos de administración$ locate site.py
En el caso de los unices, usualmente la versión de distribución de Python del sistema se encuentra instalada en /usr/bin y se pueden tener scripts del sistema operativo que dependan de éste y seleccionados por la línea inicial #! /usr/bin/env python, así que jugar con estas referencias puede romper la habilidad del sistema operativo o alguno de sus administradores para el manejo y control de versiones de software. Jugar con el orden de los directorios en la variable PATH puede también tener algunas consecuencias (ya que usualmente las actualizaciones de Python son colocadas en /usr/local/bin).
Si la instalación se hizo a través de un administrador de paquetes puede recurrirse a ésta para validar las versiones instaladas, por ejemplo
$ pip list
o
$ conda list
Convivencia de versiones
La instalación de una versión adicional puede hacerse de varias formas, mucho depende si se está o no empleando un administrador de paquetes o versiones. Por ejemplo, de ser ese el caso (el que se cuente con un administrador de versiones), distintos comandos deberán ser empleados. Abajo algunos ejemplos (sudo si se requieren permisos de administración):
$ port upgrade python27
Si el administrador es capaz de manejar y administrar las distintas versiones que se tengan instaladas no hay más que decir. De otra forma uno puede manualmente mantener las actualizaciones haciendo la instalación como ya se describió o hacer uso de alguna facilidad del administrador de versiones del sistema operativo o de algún administrador de configuraciones.
La garantía y forma de mantener varias versiones de Python es mantenerlas separadas, sin librerías comunes, sin dependencias entre éstas. Algunas veces la misma distribución ayuda, por ejemplo para el caso de la provista por MacPorts, encontramos que tras la instalación o actualización el administrador de paquetes señala:
...
python27 has the following notes:
To make this the default Python or Python 2 (i.e., the version run by the
'python' or 'python2' commands), run one or both of:
sudo port select --set python python27
sudo port select --set python2 python27
...
Desinstalación
Para saber más sobre el retiro o acciones sobre algunos componentes, ver las entradas en el blog de este sitio que se listan en las referencias al final de esta página y la documentación de python.org3. Se recalca el no tocar /usr/bin/python3.
En lo que respecta a Python 3, la desinstalción de Python en la documentación3 se indica que puede hacerse al borrar la aplicación en /Applications, el correspondiente framework (la versión dentro de /Library/Frameworks/Python.framework) y el symlink en /usr/local/bin, aunque hay otros programas relacionados que deben ser también eliminados2:, por ejemplo para Python 3.12:
$ sudo rm pip3 pip3.12 pydoc3 pydoc3.12 python3 python3-config python3-intel64 python3.12 python3.12-config python3.12-intel64
En lo que respecta a Python 2.7, la principal preocupación cuando estaba presente, era evitar tocar la distribución de Python proporcionada por Apple, que se encontraba instalada en /System/Library/Frameworks/Python.framework y /usr/bin/python. Se recalca el que nunca deben ser modificadas ni eliminadas, ya que están controladas y son utilizadas por Apple y software de terceros.
Windows
Windows 10
Para el caso de Windows, las instalaciones que se han hecho han sido a través de un instalador, tanto para la distribución de Miniconda, como con la que se obtiene desde python.org. Las opciones por defecto de los instaladores se han tomado.
Linux
En general, para la mayoría de los unices, la instalación de Python se reduce a hacerlo con el administrador de paquetes del sistema operativo o a descargar el tarball y compilarlo (en otras palabras crearlo desde scratch, desde cero). Para esto último se requiere contar con las herramientas de desarrollo (ya sea incluidas desde la instalación del sistema operativo o instaladas posteriormente, e.g. Autotools) más algunas librerías (necesarias para la compilación del intérprete o para la ejecución de los programas).
CentOS
Para el caso de CentOS se ilustra como se ha procedido para recompilarlo. Aunque el ejemplo se ha desarrollado corriendo en VirtualBox, no debe haber diferencia a una instalación en bare metal.
Instalación
Se ejemplifica la instalación de Python 3.5. Contando con las herramientas de desarrollo y las librerías necesarias, se procede de la siguiente forma (de faltar alguna, está será señalada en el proceso de configuración o compilación; las necesarias para la ejecución de los programas serán notadas hasta entonces, en run-time).
- Se descarga la versión requerida desde el sitio de Python, en algún directorio de trabajo. Puede hacerse via un browser o, si se emplea la línea de comando, com el comando
wget; por ejemplo:

$ wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz$ tar -zxvf Python-3.5.1.tgz

- Cambiarse al directorio creado con la extracción del tarball.
- Ejecutar:


$ ./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"...$ make && make altinstall # sudo su si aparecen errores de permisos.
- De los posibles errores que pueden surgir en el último paso:
- Permisos. A veces ejecutar el comando en forma privilegiada con
sudopuede no ser suficiente y uno deber hacerlo directamente desderoot. - Librerías faltantes. Durante el proceso de compilación, ligado y distribución de productos pueden aparecer avisos de algunas librerías de terceros que es necesario instalar antes.
- Permisos. A veces ejecutar el comando en forma privilegiada con
Como ya mencioné, un punto importante a tener presente es que, dada la falta de compatibilidad retroactiva de Python y que muchos scripts de administración pueden tener una dependencia específica sobre alguna versión en particular, no es buena idea cambiar la versión por defecto de Python del sistema.
Actualización
La actualización de Python debe ser de la misma forma en que fue instalado. Es decir, si fue instalado mediante un administrador de paquetes, lo ideal es que se utilice el mismo administrador de paquetes para su actualización, por ejemplo:
$ yum -y update python
Referencias
- Eduardo René Rodríguez Ávila, «Adiós a Python 2.7«, blog. URL: https://eravila.wordpress.com/2022/05/14/adios-a-python-2-7-1/.
- «How to Uninstall Python on Mac«, macupdate.com, web. Published: 2022.07.06; visited: 2022.08.15. URL: https://www.macupdate.com/how-to/uninstall-python.
- Bob Savage, «5. Using Python on a Mac«, python.org, web. Updated: 2024.04.27; visited: 2024.04.30. URL: https://docs.python.org/3/using/mac.html.
|
© Todos los derechos reservados. Dr. Eduardo René Rodríguez Avila |
Creación: 2016.04.07 Última actualización: 2025.03.17 |
|||
| El contenido de este sitio puede ser copiado y reproducido libremente mientras no sea alterado y se cite su origen. Marcas y productos registrados son citados por referencia y sin fines de lucro o dolo. Todas las opiniones son a título personal del o los autores de éstas y, salvo sea expresado de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello que es tratado. Para conocer más sobre la posición de privacidad y responsabilidad de lo que se presenta en este sitio web y como ha sido obtenido, consulte la declaración al respecto. | |||||

