instalar - python path mac
python homebrew por defecto (15)
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, al contrario que Macport, parece que no hay utilidad python_select, y mi mac python predeterminada siempre es la predeterminada
which python
Dame
/usr/bin/python
y /usr/bin/python
no es un enlace simbólico
¿Cómo puedo hacer que Python Brew Sabor sea mi pitón por defecto?
Arreglo rapido:
- Abre
/etc/paths
- Cambia el orden de las líneas (prioridad más alta en la parte superior)
En mi caso /etc/paths
ve así:
/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
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/
Como está utilizando Homebrew, el siguiente comando ofrece una mejor imagen:
brew doctor
Salida:
==> / usr / bin ocurre antes de / usr / local / bin Esto significa que se usarán programas proporcionados por el sistema en lugar de los proporcionados por Homebrew. Este es un problema si, por ejemplo. brew instalado Python.
Considere editar su archivo .bash_profile para poner: / usr / local / bin por delante de / usr / bin en su $ PATH.
Creo que hay medios para hacer homebrew python por defecto, 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 python homebrew sea el predeterminado (usando virtualenv - -opción de python). Usar herramientas como python_select
es casi siempre una mala idea.
Hice "brew install python" para OSX High Sierra. $PATH
tenía /usr/local/bin
antes que cualquier otra ruta, pero aún así which python
apuntaba a la python del sistema.
Cuando miré más profundo, descubrí que no hay ningún ejecutable de Python en /usr/local/bin
. El ejecutable se llama python2
. Para solucionar este problema, cree un enlace simbólico python
apuntando a python2
:
/usr/local/bin $: ln -s python2 python
Hice brew install python
, mi $PATH
fue bueno, pero aún así, which python
me dio el sistema instalado. Reiniciar el terminal lo arregló.
Homebrew NO reemplaza cosas en "/ usr / bin". Simplemente querrás poner "/ usr / local / bin" delante de "/ usr / bin" en tu camino, luego "which python" te dará "/ usr / local / bin / python".
Reemplazar / usr / bin / python (o / usr / bin / ruby) es muy desaconsejado.
Modifique su $ PATH, agregue esto en su bashrc o bash_profile:
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
más haga clic aquí: Issue # 89791
Necesita editar la variable de entorno PATH para asegurarse de que en cualquier lugar donde se encuentre el python 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 establezca en su versión deseada de python y llame $PYTHON
lugar de python
desde la línea de comandos.
Además, como decía otro cartel (y especialmente en mac) NO te metas con el pitón en / usr / bin para apuntarlo a otra instalación de python. Solo estás pidiendo problemas si lo haces.
No tengo idea de lo que quieres decir con Python predeterminado. Considero 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 módulos específicos o una versión específica de Python. En su lugar, instale sus instalaciones de Python personalizadas en un lugar diferente y estable y ajuste su $ PATH según sea necesario para llamarlo a través de una búsqueda de ruta en lugar de buscar el Python predeterminado.
Según lo sugerido por el instalador homebrew, asegúrese de agregar esto a su .bashrc
o .zshrc
:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
Solo haz:
brew install python
brew link python
Después de hacer eso, agregue esto a su bashrc o bash_profile:
alias python=''/usr/local/bin/python2''
¡Disfrutar!
Ver: ¿Cómo enlazar python en Homebrew?
$ brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.3... 28 symlinks created
$ which python
/usr/local/bin/python
Yo uso estos comandos:
unlink /usr/local/bin/python
ln -s /usr/local/bin/python3.6 /usr/local/bin/python
python
ahora apunta a python3
, si necesita python 2
entonces: brew install python@2
y luego en su archivo .zshrc o .bashrc export PATH="/usr/local/opt/python@2/libexec/bin:$PATH"
Ahora, pyhon --version
= Python 2.7.14 y python3 --version
= Python 3.6.4. Ese es el comportamiento que estoy acostumbrado a ver en mi terminal.
python
fórmula de python
ahora usa python3
(v3.6.5 por ahora), brew vinculará el directorio :
/usr/local/opt/python -> ../Cellar/python/3.6.5
también vinculará el binario :
/usr/local/bin/python3 -> ../Cellar/python/3.6.5/bin/python3
Si aún necesita usar python2.x
, use:
brew install python@2
Para usar python
homebrew, simplemente ponga su directorio en PATH, para bash:
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
para los peces:
set -x PATH /usr/local/opt/python/libexec/bin $PATH
Nota:
- haciendo esto sombreará la versión predeterminada del sistema de
python
- homebrew solía vincular python a
/usr/local/share/python
en versiones anteriores.