Intento cambiar a Homebrew (después de usar Fink y Macport) en Mac OS X 10.6.2. He instalado Python 2.7 con
brew install python
El problema es que, a diferencia de Macport, parece que no hay una utilidad python_select, y mi mac python predeterminada siempre es predeterminada
which python
Dame
/usr/bin/python
y /usr/bin/pythonno es un enlace simbólico
¿Cómo puedo hacer para que Python Brew Sabor sea mi Python predeterminado?

export PATH="/usr/local/opt/python/libexec/bin:$PATH"fuente: discurso.brew.sh/t/…Respuestas:
Mientras usa Homebrew, el siguiente comando ofrece una mejor imagen:
Salida:
fuente
python2está en / usr / local / bin, por solopython; conjuntoexport PATH="/usr/local/opt/python/libexec/bin:$PATH"en~/.bash_profileVer: ¿Cómo vincular python en Homebrew?
fuente
Arreglo rapido:
/etc/pathsEn mi caso se
/etc/pathsve así:Si quieres saber más sobre las rutas en OSX, encontré este artículo bastante útil:
http://muttsnutts.github.com/blog/2011/09/12/manage-path-on-mac-os-x-lion/
fuente
Según lo sugerido por el instalador de homebrew, asegúrese de agregar esto a su
.bashrco.zshrc:fuente
.zshrcarchivo y no el.bashrcarchivo el que deba cambiar.Hice "brew install python" para OSX High Sierra. La
$PATHtenía/usr/local/binantes que cualquier otra ruta pero todavíawhich pythonapuntaba a la pitón del sistema.Cuando miré más profundo, descubrí que no hay ningún ejecutable de Python en
/usr/local/bin. El ejecutable se llamapython2. Para solucionar este problema, cree un enlace simbólico quepythonapunte apython2:/usr/local/bin $: ln -s python2 pythonfuente
Homebrew NO reemplaza cosas en "/ usr / bin". Simplemente querrás poner "/ usr / local / bin" delante de "/ usr / bin" en tu ruta, luego "which python" te dará "/ usr / local / bin / python".
Reemplazar / usr / bin / python (o / usr / bin / ruby) es muy poco recomendable.
fuente
pythonla fórmula ahora usapython3(v3.6.5 por ahora), brew vinculará el directorio :También vinculará el binario :
Si aún necesita usar
python2.x, use:Para usar homebrew's
python, solo ponga su directorio en PATH, para bash:para peces:
Nota:
python/usr/local/share/pythonversiones anteriores.fuente
python3en su ruta, no un ejecutivo llamadopython... Específicamente, haciendo referencia a/usr/local/opt/python/libeexec/binotros directorios en mi ruta resolvió las cosas.Modifique su $ PATH, agregue esto en su bashrc o bash_profile:
más haga clic aquí: Número 89791
fuente
Debe editar su variable de entorno PATH para asegurarse de que donde se encuentre el pitón homebrew se busque antes de / usr / bin. También puede configurar las cosas en su configuración de shell para que una variable como PYTHON se configure en su versión deseada de python y llame en
$PYTHONlugar depythondesde la línea de comandos.Además, como se indicó en otro póster (y especialmente en Mac) NO se meta con el python en / usr / bin para apuntarlo a otra instalación de python. Solo estás pidiendo problemas si lo haces.
fuente
Lo hice
brew install python,$PATHfue bueno, pero aún así,which pythonme dio el sistema instalado. Reiniciar el terminal lo arregló.fuente
brew install pythony luego, reiniciar el terminal, ¿y nada más? No hay necesidad debrew unlink&brew link?hash -rbrew unlink & brew linkvarias veces. Solo necesitaba reiniciar la terminalpythonahora apunta apython3, si lo necesita,python 2entonces haga:brew install python@2y luego en su archivo .zshrc o .bashrcexport PATH="/usr/local/opt/python@2/libexec/bin:$PATH"Ahora,pyhon --version= Python 2.7.14 ypython3 --version= Python 3.6.4. Ese es el comportamiento que estoy acostumbrado a ver en mi terminal.fuente
Creo que hay medios para hacer que Python homebrew sea predeterminado, pero en mi opinión, la forma correcta de resolver un problema es no meterse con las rutas de Python del sistema: es mejor crear un virtualenv en el que el Python homebrew sea predeterminado (usando virtualenv - -python opción). Usar herramientas como
python_selectcasi siempre es una mala idea.fuente
Use pyenv en su lugar para instalar y cambiar entre versiones de Python. He estado usando rbenv durante años, lo que hace lo mismo, pero para Ruby. Antes de eso, era un infierno manejar versiones.
Consulte la página de github de pyenv para obtener instrucciones de instalación. Básicamente es así: - Instale pyenv usando homebrew.
brew install pyenv- Agregue una función al final de su script de inicio de shell para que pyenv pueda hacer su magia.echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profilepyenv install 3.7.7.pyenv global 3.7.7.pyevn local. Esto crea un archivo en la carpeta de su proyecto que especifica la versión de Python. Pyenv buscará anular la versión global de Python con la versión en ese archivo.fuente
Solo haz:
Después de hacer eso, agregue esto a su bashrc o bash_profile:
¡Disfrutar!
fuente
linkcomandos en las respuestas aquí,/usr/local/binson para enpython2lugar depython. Usar un alias para solucionar esto parece una mala idea, pero aún no he encontrado nada mejor.cp /usr/local/bin/python2 /usr/local/bin/pythony pareció funcionar bien. ¿Es esta una solución aún más fea?Agregue
/usr/local/opt/python/libexec/binexplícitamente a su.bash_profile:Después de eso, debería funcionar correctamente.
fuente
Si eres concha de pescado
fuente
Puede editar / etc / caminos. Aquí esta el mio:
Luego agregue un enlace simbólico para la versión de Python. En mi caso
Voila!
fuente
Desde High Sierra, debe usar:
Esto se debe a
/usr/localque ya no se puede comerfuente
No tengo idea de lo que quieres decir con Python predeterminado. Considero que es una mala práctica reemplazar el intérprete de Python del sistema con una versión diferente. La funcionalidad del sistema puede depender de alguna manera del sistema Python y los módulos específicos o una versión específica de Python. En lugar de instalar sus instalaciones a medida Python en un lugar seguro diferente y ajustar su $ PATH, según sea necesario con el fin de llamar a que Python a través de un camino de búsqueda en lugar de buscar el pitón por defecto.
fuente