Articles

La Forma Correcta de Configurar Python en Tu Mac

Dirk Avery

Seguir

el 15 de enero de 2019 · 7 min de lectura

las Nuevas versiones de Python en la regular al menos una vez al mes o así. La instalación manual de nuevas versiones es un dolor y a menudo se olvida. Con el plan manual, antes de que te des cuenta, estás en Python 2.7.,16 (Actualmente el predeterminado de Mac) y el resto del mundo ha seguido adelante. Aquí vamos a usar Homebrew para automatizar las actualizaciones.

crédito de la Foto: Oziel Gómez

NOTA: En este obstinado en la historia, sugiero que la forma «correcta» de hacer Python 3 en macOS es tener la última versión y para mantenerse al día con la actualización frecuente. Esta es una buena solución única para todos., Sin embargo, si necesita un control de versiones matizado o varias versiones de Python, consulte mi artículo sobre pyenv: Multiple version Python development on Mac. Si está configurando su Mac desde cero, mi artículo Zero to Hero: Configure su Mac para el desarrollo de Software lo guiará a través de todo el proceso.

necesitaremos ver desde dónde está comenzando para obtener la configuración correcta.

¿tiene Homebrew instalado?

dado que estamos usando Homebrew, o brew, para mantener Python actualizado, debe estar instalado., Abra un terminal y averigüe si está instalado comprobando la versión:

si no ve algo así y en su lugar Bash dice -bash: brew: command not found, entonces necesita instalar Homebrew.

instalando Homebrew

primero, instalaremos un poco de Xcode de Apple, que Homebrew requiere, y luego Homebrew. Esto probablemente le pedirá su contraseña y puede tomar un tiempo dependiendo de si ya tiene algún componente Xcode instalado.,

$ xcode-select --install

Cuando Xcode termine, este comando instalará Homebrew:

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Si todo salió bien, ahora debería poder comprobar la versión Homebrew:

Paso 2. Manejar Python no Homebrew

Este es un paso opcional. Si necesita varias versiones heredadas de Python, omita este paso.

¿ya tiene instalado Python sin Homebrew?

si descargaste Python directamente desde python.org y usando el instalador, tendrá Python no Homebrew en su sistema. La pitón en sí es exactamente la misma., Es cómo se instala y actualiza lo que difiere.

si desea un sistema limpio, puede eliminar instalaciones externas de Python. ¡Pero ten cuidado! En un Mac, el sistema operativo necesita la versión de Python mantenida en /usr/bin/python. No puede hacer mucho con esta versión, y no lo intente o arruinará su Mac.

sin embargo, Python ubicado en, o simbólicamente vinculado desde, /usr/local/bin no es parte de macOS y se puede eliminar.

Prueba este comando para ver dónde estás:

deshazte de las antiguas pitones

¡cuidado!!, Algunas aplicaciones incluyen una versión de Python y, como se mencionó anteriormente, macOS se basa en Python. Asegúrese de no eliminar estas pitones!

en mi sistema, había instalado Python varias veces desde los instaladores DMG en python.org. cuando cambié a Homebrew Python, quería deshacerme de todas las instalaciones adicionales de Python. Así es como lo hice.

eliminar todos los enlaces simbólicos en/usr/local/bin que apuntan a archivos relacionados con Python:

$ sudo rm /usr/local/bin/python*
$ sudo rm /usr/local/bin/pip*

eliminar versiones de Python en el framework Python:

$ sudo rm -Rf /Library/Frameworks/Python.framework/Versions/*

Paso 3., Configurar el entorno

cualquier instalación anterior de Python puede haber saturado su variable de entorno PATH. Vamos a limpiar eso.

con Homebrew, no necesita una ruta complicada que apunte al framework de Python. Para el uso básico de Python, esto es todo lo que necesitará en su archivo ~/.bash_profile:

export PATH=/usr/local/bin:/usr/local/sbin:${PATH}

las herramientas adicionales de Python (por ejemplo, Pylint, iSort) a veces se instalan en otra ruta especial., Es una buena idea incluir esa ruta también:

export PATH=/usr/local/bin:/usr/local/sbin:${PATH}
export PATH=${PATH}:/Users/<your username>/Library/Python/3.7/bin

para la mayoría de las características de Python que deberían ser todo lo que necesita en su PATH.

Paso 4. Instalar Python

con toda la preparación fuera del camino, en realidad instalar Python se vuelve muy fácil:

$ brew install python3

Paso 5. Actualice Python

ahora, cada vez que use Brew para actualizar todo su sistema, ¡Python también se actualizará!

$ brew upgrade

Si solo desea asegurarse de que Python esté actualizado, también puede hacerlo.,

$ brew upgrade python3

Homebrew responde con un error si ya está actualizado:

Error: python3 3.7.2_1 already installed

Paso 6. Instalar paquetes comunes de Python

dependiendo de la cantidad de paquetes de Python que utilice, instalarlos y actualizarlos todos puede ser una molestia. Homebrew puede ayudar con algunos paquetes.

como mínimo, usted debe tener Pipenv instalado:

$ brew install pipenv

Para otros paquetes, cuándo se debe usar Homebrew vs Pip vs Pipenv dentro de un virtualenv?, Siga esta guía práctica:

Instalar Usando Pipenv Dentro de un Proyecto

Si usted no está planeando utilizar un determinado paquete de Python a través de proyectos, probablemente el mejor de la instalación con Pipenv en el proyecto del virtualenv.

por ejemplo, si solo está planeando usar Pyppyn dentro de un proyecto (p. ej.,, project_dir/), desde el virtualenv que utilice mientras desarrolla el proyecto, puede instalar el paquete utilizando Pip o Pipenv. Recomiendo Pipenv.

Usando Pipenv, crear un nuevo virtualenv basado en Python 3 — macOS por defecto a Python 2:

$ cd project_dir/
$ pipenv --three

Iniciar (es decir, «activar») el virtualenv e instalar el paquete en él:

$ pipenv shell
$ pipenv install pyppyn

Este paquete, Pyppyn, solo estará disponible dentro de el virtualenv asociado con project_dir/.,

instalar usando Pip fuera de un virtualenv

Si desea que un paquete esté disponible en su sistema, pero no quiere que se actualice automáticamente, o no hay una fórmula Homebrew, puede instalarlo con Pip.

por ejemplo, si usa Pylint para pelar su código, en todos los proyectos, pero no hay una fórmula Homebrew para ello, instálelo con Pip fuera de cualquier virtualenv.,

inicie un nuevo terminal para asegurarse de que no está en un virtualenv e instale:

$ pip3 install pylint

Este paquete, Pylint, estará disponible en todo su sistema, incluyendo nuevos virtualenvs creados basados en Python 3.

sin embargo, usted será responsable de mantenerlo actualizado con Pip:

$ pip3 install pylint --upgrade

Install combinando Cron y Pip

Si desea mantener un paquete de todo el sistema actualizado automáticamente pero no hay una fórmula Homebrew para él, puede usar fácilmente crontab.,

por ejemplo, si desea usar Pylint en sus proyectos de Python y desea que se mantenga actualizado automáticamente, use el crontab para ejecutar el comando upgrade que vimos anteriormente en un horario regular.

el siguiente comando editará — o creará — el crontab de su usuario:

$ crontab -e

el comando abrirá el editor predeterminado del sistema que es Vim, si no lo ha cambiado.

Si aún no tiene un crontab, verá un archivo en blanco., Si ya tienes un crontab, verás tus entradas anteriores.

Cron no tiene acceso a su perfil de Bash, por lo que nos aseguraremos de que el sistema pueda encontrar comandos configurando el PATH.

#!/bin/sh PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

las líneas siguientes son entradas crontab. Cada entrada especifica un comando y una programación para el comando., Para actualizar Pylint, por ejemplo, y Homebrew, cada día a las 3:40 y 3:35 pm, respectivamente, puede agregar estas dos entradas:

40 15 * * * pip3 install pylint --upgrade
35 15 * * * brew upgrade

cada vez que se ejecuten estos comandos, el sistema le enviará un correo electrónico con la salida estándar de los comandos. Agregue MAILTO="" a su crontab antes de sus entradas para suprimir estos correos electrónicos. Consulte esta útil publicación para obtener más detalles sobre el uso de crontab.,

instalar usando Homebrew

Si desea utilizar un paquete en todos los proyectos, desea que se actualice automáticamente, y hay una fórmula Homebrew para él, utilice Homebrew!

por ejemplo, si usas Flake8 para aplicar estilo a tu código, en todos los proyectos, quieres que Flake8 se actualice automáticamente, y como hay una fórmula Homebrew para ello, puedes usar Homebrew.

$ brew install flake8

Este paquete, Flake8, ahora está disponible en todo el sistema.,

Algunos de los paquetes de Python y herramientas actualmente disponibles a través de Homebrew incluyen los siguientes:

  • autopep8
  • negro
  • se desvanece
  • flake8
  • lorem
  • colección
  • pipenv
  • pycodestyle
  • pyenv
  • pypy3
  • pyvim
  • tox

Siga con nosotros en Twitter 🐦 y Facebook 👥 y Instagram 📷 y únete a nuestro Facebook y Grupos de Linkedin 💬.,

para unirte a nuestro chat del equipo de Slack de la comunidad read️ lee nuestros temas semanales de Faun weekly️, y conéctate con la comunidad click haz clic aquí