Ir al contenido
Brayan Diaz C
Volver

Cómo instalar y configurar Python en macOS con pyenv

Python en macOS, la versión de esta guía para Mac. Vas a aprender exactamente cómo instalar Python con pyenv y Homebrew: varias versiones conviviendo, la de cada proyecto fijada en su carpeta y entornos virtuales integrados con pyenv-virtualenv.

En Mac, Python tiene su propia historia: el sistema dejó de incluirlo hace años y el que llega con las Command Line Tools está pensado para las herramientas de Apple, no para tus proyectos. He visto más de un entorno donde conviven tres Pythons (el de las CLT, uno de brew y uno descargado del sitio oficial) y nadie sabe cuál responde.

El problema es ese: sin un gestor, cada instalación de Python se suma a la anterior en lugar de reemplazarla, y which python se convierte en una lotería.

Vamos a ver:

  1. Instalar pyenv y pyenv-virtualenv con Homebrew.
  2. Configurar ~/.zprofile y ~/.zshrc correctamente.
  3. Instalar versiones de Python, elegir la global y fijarla por proyecto.
  4. Crear entornos virtuales ligados a pyenv.

Al final tendrás un solo dueño de Python en tu Mac: tú.

Nota

Esta guía asume que ya tienes Homebrew instalado. Si no, empieza por Setup macOS para desarrollo profesional.

Tabla de contenidos

Tabla de contenidos

Paso 1: Instala pyenv y pyenv-virtualenv

Actualiza las fórmulas e instala ambos de una vez:

brew update
brew install pyenv pyenv-virtualenv

Es el método que recomienda la documentación oficial de ambos proyectos para macOS, y se actualizan junto al resto de tus herramientas.

Paso 2: Configura tu shell

El reparto de siempre en la serie: variables y PATH en ~/.zprofile, inicialización interactiva en ~/.zshrc.

echo '' >> ~/.zprofile
echo '# Configuración base de pyenv' >> ~/.zprofile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zprofile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zprofile
echo '' >> ~/.zshrc
echo '# Inicialización interactiva de pyenv' >> ~/.zshrc
echo 'eval "$(pyenv init - zsh)"' >> ~/.zshrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

Recarga la configuración (o cierra y abre la terminal):

source ~/.zprofile
source ~/.zshrc

Verifica:

pyenv --version

Paso 3: Instala Python y define la versión global

Consulta las versiones estables recientes:

pyenv install -l | grep -E '^[[:space:]]*[0-9]+\.[0-9]+\.[0-9]+$' | tail -n 20

Instala la que necesites (usa la más reciente de la lista) y déjala como predeterminada:

pyenv install 3.13.5
pyenv global 3.13.5
Nota

La instalación tarda varios minutos: pyenv compila Python desde la fuente. Las dependencias que necesita ya las tienes si seguiste el setup de la serie (Homebrew instala las suyas por fórmula).

Verifica:

python --version
pip --version
pyenv version

Fíjate en el detalle: python a secas (no python3) ya apunta a tu versión gestionada.

Paso 4: Fija la versión por proyecto

Dentro de la carpeta de un proyecto:

cd mi-proyecto
pyenv local 3.13.5

Esto crea un archivo .python-version: al entrar a esa carpeta, pyenv activa esa versión automáticamente. Quien clone el repo trabaja con la misma versión que tú.

Paso 5: Crea entornos virtuales con pyenv-virtualenv

La gran recompensa. Cada proyecto Python debería tener su entorno aislado de paquetes, y pyenv-virtualenv lo integra al flujo:

pyenv virtualenv 3.13.5 mi-proyecto-313
pyenv local mi-proyecto-313

Con eso, el .python-version del proyecto apunta al entorno virtual completo: entras a la carpeta y tienes la versión correcta y sus paquetes aislados, sin activate manual. Si algún día lo necesitas a mano: pyenv activate mi-proyecto-313 y pyenv deactivate.

Verifica en cualquier momento:

pyenv versions
pyenv which python

Solución de problemas comunes

pyenv: command not found

Revisa que las líneas del Paso 2 quedaron en los archivos correctos y reinicia la terminal.

python --version no cambia

pyenv version
which python

Si la ruta no sale de ~/.pyenv, falta la inicialización del Paso 2 en tu ~/.zshrc.

Mantenimiento

Actualizar pyenv y el plugin (instalados con Homebrew):

brew upgrade pyenv pyenv-virtualenv

Y para eliminar una versión o entorno que ya no uses:

pyenv uninstall 3.13.5

Conclusión

Un solo dueño de Python en tu Mac: versiones compiladas en tu usuario, .python-version por proyecto y entornos virtuales que se activan solos. El Python de las Command Line Tools queda donde debe estar: al servicio de Apple, no de tus proyectos.

Si esto te fue útil, el artículo relacionado es el paso lógico: Cómo instalar y configurar Python en Ubuntu con pyenv, la versión de esta guía para Ubuntu y WSL.

La próxima semana sigo con la serie: Ruby con rbenv, el gestor que inspiró a todos los demás. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.

Recursos adicionales


Comparte este post:

Post siguiente
Cómo instalar y configurar Python en Ubuntu con pyenv