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/python
no 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
python2
está en / usr / local / bin, por solopython
; conjuntoexport PATH="/usr/local/opt/python/libexec/bin:$PATH"
en~/.bash_profile
Ver: ¿Cómo vincular python en Homebrew?
fuente
Arreglo rapido:
/etc/paths
En mi caso se
/etc/paths
ve 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
.bashrc
o.zshrc
:fuente
.zshrc
archivo y no el.bashrc
archivo el que deba cambiar.Hice "brew install python" para OSX High Sierra. La
$PATH
tenía/usr/local/bin
antes que cualquier otra ruta pero todavíawhich python
apuntaba 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 quepython
apunte apython2
:/usr/local/bin $: ln -s python2 python
fuente
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
python
la 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/python
versiones anteriores.fuente
python3
en su ruta, no un ejecutivo llamadopython
... Específicamente, haciendo referencia a/usr/local/opt/python/libeexec/bin
otros 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
$PYTHON
lugar depython
desde 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
,$PATH
fue bueno, pero aún así,which python
me dio el sistema instalado. Reiniciar el terminal lo arregló.fuente
brew install python
y luego, reiniciar el terminal, ¿y nada más? No hay necesidad debrew unlink
&brew link
?hash -r
brew unlink & brew link
varias veces. Solo necesitaba reiniciar la terminalpython
ahora apunta apython3
, si lo necesita,python 2
entonces haga:brew install python@2
y 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_select
casi 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_profile
pyenv 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
link
comandos en las respuestas aquí,/usr/local/bin
son para enpython2
lugar 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/python
y pareció funcionar bien. ¿Es esta una solución aún más fea?Agregue
/usr/local/opt/python/libexec/bin
explí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/local
que 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