old - cómo cambiar la versión predeterminada de Python?
multiple python versions mac (8)
Cambia el Python "predeterminado" poniéndolo antes del sistema Python en tu ruta, por ejemplo:
export PATH=/usr/local/bin:$PATH
He instalado Python 3.2 en mi mac. Después de ejecutar / Applications / Python 3.2 / Update Shell Profile.command , es confuso que cuando escribo python -V en Terminal dice que Python 2.6.1 , ¿cómo puedo cambiar la versión predeterminada de python?
Comprueba la ubicación de python 3
$ which python3
/usr/local/bin/python3
Escribir alias en bash_profile
vi ~/.bash_profile
alias python=''/usr/local/bin/python3''
Recargar bash_profile
source ~/.bash_profile
Confirmar el comando python
$ python --version
Python 3.6.5
En Mac OS X usando el instalador de python.org como aparentemente tiene, necesita invocar Python 3 con python3
, no python
. Actualmente está reservado para las versiones de Python 2. También podría usar python3.2
para invocar específicamente esa versión.
$ which python
/usr/bin/python
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ cd /Library/Frameworks/Python.framework/Versions/3.2/bin/
$ ls -l
total 384
lrwxr-xr-x 1 root admin 8 Apr 28 15:51 2to3@ -> 2to3-3.2
-rwxrwxr-x 1 root admin 140 Feb 20 11:14 2to3-3.2*
lrwxr-xr-x 1 root admin 7 Apr 28 15:51 idle3@ -> idle3.2
-rwxrwxr-x 1 root admin 138 Feb 20 11:14 idle3.2*
lrwxr-xr-x 1 root admin 8 Apr 28 15:51 pydoc3@ -> pydoc3.2
-rwxrwxr-x 1 root admin 123 Feb 20 11:14 pydoc3.2*
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3*
lrwxr-xr-x 1 root admin 12 Apr 28 15:51 python3-32@ -> python3.2-32
lrwxr-xr-x 1 root admin 16 Apr 28 15:51 python3-config@ -> python3.2-config
-rwxrwxr-x 2 root admin 25624 Feb 20 11:14 python3.2*
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 python3.2-32*
lrwxr-xr-x 1 root admin 17 Apr 28 15:51 python3.2-config@ -> python3.2m-config
-rwxrwxr-x 1 root admin 25784 Feb 20 11:14 python3.2m*
-rwxrwxr-x 1 root admin 1865 Feb 20 11:14 python3.2m-config*
lrwxr-xr-x 1 root admin 10 Apr 28 15:51 pythonw3@ -> pythonw3.2
lrwxr-xr-x 1 root admin 13 Apr 28 15:51 pythonw3-32@ -> pythonw3.2-32
-rwxrwxr-x 1 root admin 25624 Feb 20 11:14 pythonw3.2*
-rwxrwxr-x 1 root admin 13964 Feb 20 11:14 pythonw3.2-32*
Si también instaló un Python 2 desde python.org, este tendría un directorio bin similar sin superposición de nombres de archivos (excepto para 2to3).
$ open /Applications/Python/ 2.7/Update/ Shell/ Profile.command
$ sh -l
$ echo $PATH
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ which python3
/Library/Frameworks/Python.framework/Versions/3.2/bin/python3
$ which python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
$ cd /Library/Frameworks/Python.framework/Versions/2.7/bin
$ ls -l
total 288
-rwxrwxr-x 1 root admin 150 Jul 3 2010 2to3*
lrwxr-x--- 1 root admin 7 Nov 8 23:14 idle@ -> idle2.7
-rwxrwxr-x 1 root admin 138 Jul 3 2010 idle2.7*
lrwxr-x--- 1 root admin 8 Nov 8 23:14 pydoc@ -> pydoc2.7
-rwxrwxr-x 1 root admin 123 Jul 3 2010 pydoc2.7*
lrwxr-x--- 1 root admin 9 Nov 8 23:14 python@ -> python2.7
lrwxr-x--- 1 root admin 16 Nov 8 23:14 python-config@ -> python2.7-config
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 python2.7*
-rwxrwxr-x 1 root admin 1663 Jul 3 2010 python2.7-config*
lrwxr-x--- 1 root admin 10 Nov 8 23:14 pythonw@ -> pythonw2.7
-rwxrwxr-x 1 root admin 33764 Jul 3 2010 pythonw2.7*
lrwxr-x--- 1 root admin 11 Nov 8 23:14 smtpd.py@ -> smtpd2.7.py
-rwxrwxr-x 1 root admin 18272 Jul 3 2010 smtpd2.7.py*
Esto es probablemente deseable para la compatibilidad con versiones anteriores.
Python3 rompe la compatibilidad con versiones anteriores, y los programas que invocan ''python'' probablemente esperan python2. Probablemente tengas muchos programas y scripts de los que ni siquiera estás al tanto de qué esperar python = python2, y cambiar esto rompería esos programas y scripts.
La respuesta que probablemente está buscando es que no debe cambiar esto .
Sin embargo, podría hacer un alias personalizado en su caparazón. La forma en que lo hace depende del shell, pero quizás podría hacer alias py=python3
Si está confundido acerca de cómo iniciar la última versión de python, es al menos el caso en Linux que python3
deja intacta su instalación de python2
(debido a las razones de compatibilidad anteriores) ; por lo tanto, puede iniciar python3 con el comando python3
.
Estoy usando OS X 10.7.5 y Python 3.4.2. Si escribe python3
y lo que desea ejecutar, lo ejecutará utilizando Python 3. Por ejemplo, pyhton3 test001.py
. Eso ejecutó un programa de prueba que hice llamado test001. Espero que esto ayude.
Navegar a:
Mi PC -> Propiedades -> Avanzado -> Variables de entorno -> Variables del sistema
Supongamos que ya ha agregado python 2.7 en la variable de ruta y desea cambiar la ruta predeterminada a python 3.x
luego agregue la ruta de acceso de la carpeta python3.5.x antes de la ruta python2.7.
abra cmd: escriba "python --version"
La versión de Python se cambiará a python 3.5.x
Pregunta anterior, pero alternativamente:
virtualenv --python=python3.5 .venv
source .venv/bin/activate
Según una búsqueda rápida en Google, esta actualización solo se aplica al shell actual que tiene abierto. Probablemente se pueda solucionar escribiendo python3, ya que mac y linux son lo suficientemente similares para que cosas como esta coincidan. Enlace al resultado de la búsqueda de google
Además, como ninjagecko declaró, la mayoría de los programas no se han actualizado a 3.x todavía, por lo que tener el python predeterminado como 3.x rompería muchos scripts de Python utilizados en las aplicaciones.