En el nuevo MacOS 13 M1/M2, python 3.9 viene preinstalado con pip3 (no pip). No instalo otras versiones de Python con brew/macport o el instalador de Python, solo la preinstalada 3.9.
Con el Python preinstalado, el sitio de paquetes global está ubicado en /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/site-packages
(otros instaladores estarán en /Library/Frameworks/Python.framework/Versions/3.9/
)
El sitio de paquetes por usuario está ubicado en ~/Library/Python/3.9/lib/python/site-packages
Cuando instalo un paquete con pip3, se instalará en la ubicación por usuario, no en la global, junto con los archivos ejecutables instalados en ~/Library/Python/3.9/bin
. Por ejemplo, después de actualizar pip3, pip también se instalará en ~/Library/Python/3.9/bin
.
Quiero ejecutar estos archivos ejecutables instalados por pip3 sin especificar la ruta completa. Cuando actualicé pip3, el sistema aún se quejaba de que no podía encontrar pip, y me llevó algo de tiempo entender por qué.
Puedo agregar ~/Library/Python/3.9/bin
directamente a PATH pero siento que es una solución improvisada. Por ejemplo, con la próxima versión de macOS, el Python preinstalado puede actualizarse a 3.10 (como ha sucedido antes) y también podría necesitar agregar ~/Library/Python/3.10/bin
a PATH. He visto que a veces se modifica PATH
para que sea largo y feo solo para incluir Python y los archivos ejecutables relacionados.
¿Debería configurar PYTHONPATH
en ~/Library/Python/3.9/bin
y añadir PYTHONPATH a PATH? Me gustaría saber cuál es la mejor práctica para usar PYTHONPATH/PYTHONHOME
para el Python preinstalado en Mac.
Ninguno de los dos PYTHONPATH/PYTHONHOME
están configurados por defecto.
De What exactly should be set in PYTHONPATH?, las respuestas acordadas son que no es necesario configurar PYTHONPATH a menos que se quieran usar bibliotecas no estándar. Pero estas respuestas no parecen resolver mi problema, por supuesto, necesito usar bibliotecas no estándar para mi desarrollo, como por ejemplo pytorch.
--- actualización ---
De los comentarios que recibí, me di cuenta de que instalé python3 con xcode-select --install
, MacOS 13 no preinstala python3.
También, de los comentarios, permítanme reiterar mis preguntas, 1. ¿Debería configurar PYTHONPATH/PYTHONHOME
, por qué o por qué no? 2. Siento que agregar ~/Library/Python/3.9/bin
a PATH es una solución improvisada y me gustaría saber si hay una mejor manera.
Por supuesto, al final necesitaré agregar las rutas de ejecutables a PATH. Pero no sabía el uso correcto de PYTHONPATH, así que pensé que tal vez podría agregar las rutas de ejecutables a PYTHONPATH y luego agregar PYTHONPATH a PATH. De esa forma, cuando tenga más rutas que agregar, solo necesitaré editar PYTHONPATH y PATH se mantendrá igual.
Pero parece que eso no es el uso adecuado de PYTHONPATH según lo que tengo hasta ahora.