
Yo he sido un amplio promotor del uso de los ambientes virtuales de Python (especialmente desde que Apple finalmente se deshizo de Python 2.7 en macOS 12.3). Realmente, para las actividades de desarrollo que hago, principalmente con Jupyter notebooks, me funcionan muy bien, y soy un fan de mini Conda.
Mi M1 se ha convertido en mi principal entorno de trabajo. En ella veo un /usr/bin/python3 (versión 3.9.6) y estoy consiciente de un Python 3.7.9 que está en /Library/Frameworks/Python.framework/Versions/3.7/bin/ por una instalación de Dataiku. Pero, mis actividades las realizo con los intérpretes que instalo con Conda.
Sin embargo, recientemente me encontré con un caso en el que tras compilar una aplicación e instalarla, requiero de un intérprete de Python a nivel del sistema operativo y no como un entorno virtual en una cuenta de usuario. El programa instalado funciona, y parece que lo hace con el Python de Dataiku (por aparecer primero en $PATH) pero es un programa del entorno gráfico (anque lo lanzo vía la terminal) por lo que tengo algunas reservas sobre lo anterior. Por supuesto que lo primero que viene a nuestra cabeza es que esto se resuelve meramente con ajustar el orden de rutas en $PATH y, quizás, creando un link aa programa python3 en /usr/bin de requerirse la existencia de un python. Pero, aquí hay ciertas sutilezas a considerar:
- El Python de Dataiku sólo debe ser tocado y usado por Dataiku, y no debe haber referencias a éste que pudieran hacer que el uso de
pipinstale o actualice librerías para esta instalación. Debe considerarse (aunque no lo es del todo com opuede verse) como «embebido» en Dataiku. - Toda compilación que haga referencia a un Python debe usar el del sistema y así quedar registrado. No debe simplemente compilarse dejando que este proceso tome el primer Python que encuentre y luego que al correr el programa se tomé otro que se encuentre primero.
Si bien, desde el retiro del Python 2.7 consideré innecesario el instalar Python con el instalador provisto por la distribución desde python.org, veo que puede ser necesario. También me despierta la duda sobre la convivencia de distintas versiones de Python en /Library/Frameworks/Python.framework/. Así que decidí instalar Python 3.12.3 haciendo uso de la distribución de python.org.









La instalación agrega en el .bash_profile lo necesario para que el intérprete quede accesible desde la línea de comandos.
# Setting PATH for Python 3.12
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:${PATH}"
export PATH
Referencias
- Bob Savage, «5. Using Python on a Mac«, python.org, web. Updated: 2024.04.27; visited: 2024.04.27. URL: https://docs.python.org/3/using/mac.html.
