completely - mac python 2 and 3
Cambiar entre Python 2.7 y Python 3.5 en Mac OS X (7)
Cómo volver a configurar la versión de Python en 2.7 si ha instalado Anaconda3 (Python 3.6) en MacOS High Sierra 10.13.5
Edite el archivo .bash_profile en su directorio de inicio.
vi $ HOME / .bash_profile
hash fuera de la línea # export PATH = "/ Users / YOURUSERNAME / anaconda3 / bin: $ PATH"
Cierre el shell abierto de nuevo, debería ver 2.7 cuando ejecuta python.
Entonces, si quieres 3.6, simplemente puedes descomentar tu línea anaconda3 en tu perfil de bash.
Intentar desvincular Python terminará en lágrimas en Mac OSX.
Tendrás algo como esto
desvincular: / usr / bin / python: operación no permitida
Espero que ayude a alguien a salir !! :) :)
Generalmente uso Python 2.7 pero recientemente instalé Python 3.5 usando Miniconda en Mac OS X. Se han instalado diferentes bibliotecas para estas dos versiones de python. Ahora, al ingresar cualquiera de las palabras clave ''python'' o ''python3'' en el terminal invoca python 3.5, y ''python2'' devuelve ''-bash: python2: comando no encontrado''. ¿Cómo puedo ahora invocarlos específicamente usando los alias ''python2'' y ''python3'' respectivamente?
Actualmente estoy usando OS X El Capitan.
Ejecutando estos en este orden enlazó python
a Python 2:
brew install python
brew install python@2
Todavía puede usar pip3
y python3
para Python 3.
El binario Python de OSX (versión 2) se encuentra en /usr/bin/python
si usa which python
le indicará dónde se está resolviendo el comando python
. Por lo general, lo que ocurre es que los terceros redefinen las cosas en /usr/local/bin
(que tiene prioridad, por defecto en /usr/bin
). Para solucionarlo, puede ejecutar /usr/bin/python
directamente para usar 2.x o encontrar la redefinición errante (probablemente en /usr/local/bin
o en otro lugar en su PATH
)
En mi humilde opinión, la mejor manera de usar dos python versions
diferentes de python versions
en OS X es a través de homebrew
. Después de instalar homebrew en OS X, ejecute los comandos a continuación en su terminal.
brew update
brew install python
brew install python3
Ahora puede ejecutar Python 2.7 invocando python2
o Python 3.5 invocando python3
. Además de esto, puede usar virtualenv
para administrar diferentes versiones de entornos de python
.
Nunca he usado miniconda
personalmente, pero a partir de la documentación, parece que es similar al uso de pip
y virtualenv
en combinación.
Si desea utilizar la instalación del sistema de Python 2.7 de Apple, tenga en cuenta que no cumple con los estándares de nomenclatura establecidos en PEP-0394 .
En particular, incluye los enlaces simbólicos opcionales con el sufijo 2.7
que se le dice que no debe confiar, y no incluye los enlaces simbólicos recomendados con el sufijo 2
que le dicen que debe confiar.
Si quieres arreglar esto, mientras te apegas a Python de Apple, puedes crear tus propios enlaces simbólicos:
$ cd <somewhere writable and in your PATH>
$ ln -s /usr/bin/python python2
O alias en tu configuración de bash:
alias python2 python2.7
Y puede hacer lo mismo para Apple 2to3, easy_install, etc., si los necesita.
No intentes poner estos enlaces simbólicos en /usr/bin
, y definitivamente no intentes cambiar el nombre de lo que ya está allí, o cambiar la configuración de distutils a algo más compatible con PEP. Esos archivos son parte del sistema operativo y pueden ser utilizados por otras partes del sistema operativo, y sus cambios pueden sobrescribirse incluso en una actualización menor de 10.13.5 a 10.13.6 o algo así, así que déjelos en paz y evítelos. como se describió anteriormente.
Alternativamente, usted podría:
- Simplemente use
python2.7
lugar depython2
en la línea de comando y en sus shbangs, y así sucesivamente. - Use entornos virtuales o entornos conda. El
python
global,python3
,python2
, etc. no tienen importancia cuando siempre está utilizandopython
local del entorno activado. - Deje de usar el 2.7 de Apple y en su lugar instale otros 2.7 junto con él, como sugieren la mayoría de las otras respuestas. (No sé por qué tantos de ellos también sugieren que instale un segundo 3.6. Eso solo agregará aún más confusión, sin ningún beneficio).
Solo sigo la respuesta de John Wilkey.
Mi alias python
solía representar python2.7 (ubicado en /usr/bin
). Sin embargo, la vía de acceso python predeterminada ahora está precedida por /usr/local/bin
para python3
; por lo tanto, al escribir python
, tampoco obtuve la versión de Python.
Intenté hacer un enlace en /usr/local/bin
para python2
:
ln -s /usr/bin/python /usr/local/bin/
Funciona al llamar a python
para python2
.
Ya tenía instalado python3 (a través de miniconda3) y necesitaba instalar python2 junto a ese caso brew install python
no instalaría python2, por lo que necesitaría brew install python@2
.
Ahora alias python2
refiere a python2.x de /usr/bin/python
y alias python3
refiere a python3.x desde /Users/ishandutta2007/miniconda3/bin/python
y alias python
refiere a python3 de manera predeterminada.
Ahora, para usar python
como alias para python2, agregué lo siguiente al archivo .bashrc
alias python=''/usr/bin/python''
.
Para volver a python3 como predeterminado, simplemente elimine esta línea cuando sea necesario.