¿Cómo debo configurar la versión predeterminada de Python en Windows?

Instalé Python 2.6 y Python 3 en Windows 7 y configuré la variable de entorno: path = d:\python2.6 .

Cuando ejecuto python en cmd, muestra que la versión de python es 2.6, ¡lo cual es correcto!

Pero cuando escribí un script en un archivo bat y lo ejecuté, la versión de python mostrada era 3.1.

¿Que esta mal aquí?

El código del script en el archivo bat:

 import sys print (sys.version) 

Related of "¿Cómo debo configurar la versión predeterminada de Python en Windows?"

El último Python que instala que se registra en el entorno es el predeterminado (no puedo recordar la redacción exacta en el instalador, pero es la primera opción). Hay una serie de configuraciones, por lo que, para asegurarse de que estén todos registrados de forma coherente, vuelva a instalar la versión que desea que sea la predeterminada.

Si desea instalar otra versión pero no la quiere como predeterminada, simplemente deshabilite la opción de registro durante la instalación.

Editar (19 de mayo de 2012)

A partir de Python 3.3, el instalador de Python instala Python Launcher para Windows . Este progtwig ( py.exe ) está asociado con las extensiones de archivo de Python y busca un comentario “shebang” para especificar la versión de python que se ejecutará. Esto permite que muchas versiones de Python coexistan y permite que los scripts de Python especifiquen explícitamente qué versión usar, si se desea. Si no se especifica, el valor predeterminado es usar la última versión de Python 2.X para la architecture actual (x86 o x64). Este valor predeterminado se puede personalizar a través de un archivo PY_PYTHON o PY_PYTHON variable de entorno PY_PYTHON . Vea la documentación para más detalles.

Solo asegúrese de que Python 3.3 sea el último Python instalado que se registró con Windows. Si se instalan otras versiones de Python más adelante, asegúrese de no registrarlas en el entorno, por lo que el iniciador seguirá siendo el predeterminado.

Aquí le mostramos cómo verificar si el lanzador está registrado correctamente desde la consola:

 C:\>assoc .py .py=Python.File C:\>ftype Python.File Python.File="C:\Windows\py.exe" "%1" %* 

Arriba, los archivos .py están asociados con el tipo Python.File . La línea de comandos para Python.File es el Python.File Python, que se instala en el directorio de Windows ya que siempre está en la RUTA.

Para que la asociación funcione, ejecute scripts desde la línea de comandos con script.py , no “python script.py”; de lo contrario, se ejecutará python lugar de py . py.exe también se puede ejecutar con interruptores para forzar una versión de Python:

 py -3 script.py # force latest Python 3.X version to be used. 

Además, agregue .py;.pyw;.pyc;.pyo a la variable de entorno PATHEXT y luego la línea de comandos solo puede ser una script sin extensión.

Ejecutar el comando ‘py’ le dirá qué versión está ejecutando. Si actualmente está ejecutando 3.x y necesita cambiar a 2.x, deberá usar el interruptor ‘-2’

 py -2 

Si necesita cambiar de python 2.x a python 3.x tendrá que usar el interruptor ‘-3’

 py -3 

Si desea tener Python 3.x como una versión predeterminada, deberá crear la variable de entorno ‘PY_PYTHON’ y establecer su valor en 3.

Vea aquí para la publicación original

 ; ; This is an example of how a Python Launcher .ini file is structured. ; If you want to use it, copy it to py.ini and make your changes there, ; after removing this header comment. ; This file will be removed on launcher uninstallation and overwritten ; when the launcher is installed or upgraded, so don't edit this file ; as your changes will be lost. ; [defaults] ; Uncomment out the following line to have Python 3 be the default. ;python=3 [commands] ; Put in any customised commands you want here, in the format ; that's shown in the example line. You only need quotes around the ; executable if the path has spaces in it. ; ; You can then use eg #!myprog as your shebang line in scripts, and ; the launcher would invoke eg ; ; "c:\Program Files\MyCustom.exe" -a -b -c myscript.py ; ;myprog="c:\Program Files\MyCustom.exe" -a -b -c 

Por lo tanto, en mi sistema hice un archivo py.ini bajo c:\windows\ donde existe py.exe, con el siguiente contenido:

 [defaults] python=3 

Ahora, cuando haga doble clic en un archivo .py, se ejecutará con la nueva versión predeterminada. Ahora solo estoy usando el Shebang #! python2 #! python2 en mis viejos scripts.

  1. Edite la clave de registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\python.exe\default
  2. Configurar el progtwig predeterminado para abrir archivos .py a python.exe

Esto es si tiene ambas versiones instaladas.

Vaya a This PC -> Right-click -> Click on Properties -> Advanced System Settings.

Verás las System Properties . Desde aquí, vaya a la pestaña "Advanced" -> Haga clic en Environment Variables .

Verá una mitad superior para las variables de usuario y la mitad inferior para las System variables .

Verifique las System Variables del System Variables y haga doble clic en la Path (para editar la ruta).

Compruebe la ruta de acceso de Python (que desea ejecutar, es decir, Python 2.xo 3.x) y muévala a la parte superior de la lista de rutas.

Reinicie el símbolo del sistema y ahora, cuando verifique la versión de Python, debería mostrar correctamente la versión requerida.

Esto funcionó para mí:

Ir

 Control Panel\System and Security\System 

seleccionar

 Advanced system settings from the left panel from Advanced tab click on Environment Variables 

En la sección de variables del sistema, busque ( crear si no existe )

 PYTHONPATH 

y establecer

 C:\Python27\;C:\Python27\Scripts; 

o tu versión deseada

Es necesario reiniciar CMD.

En caso de que aún no funcione, es posible que desee dejar en la variable PATH solo la versión deseada.

Ahora que se lanzó Python 3.3, es más fácil usar la utilidad py.exe que se describe aquí: http://www.python.org/dev/peps/pep-0397/

Le permite especificar una versión de Python en su archivo de script mediante una directiva de estilo UNIX. También hay opciones de línea de comandos y variables de entorno para controlar qué versión de Python se ejecuta.

La forma más fácil de obtener esta utilidad es instalar Python 3.3 o posterior.

Nada de arriba funcionó, esto es lo que funcionó para mí:

 ftype Python.File=C:\Path\to\python.exe "%1" %* 

Este comando debe ejecutarse en el símbolo del sistema iniciado como administrador

Advertencia: incluso si la ruta en este comando está establecida en python35, si tiene python36 instalado, se establecerá el valor predeterminado en python36. Para evitar esto, puede cambiar temporalmente el nombre de la carpeta de Python36 a xxPython36 , ejecutar el comando y luego eliminar el cambio a la carpeta de Python 36.

Verifique cuál está usando actualmente el sistema:

 python --version 

Agregue la ubicación de la carpeta principal (por ejemplo, C / ProgramFiles) y la ubicación de los scripts (C / ProgramFiles / Scripts) a las Variables de entorno del sistema. Agregue la versión 3.x y la versión 2.x

La ubicación de la ruta se clasifica dentro de la variable de entorno. Si desea usar Python 2.x, simplemente coloque la ruta de Python 2.x primero, si desea usar Python 3.x, simplemente coloque 3.x primero

Esto utiliza Python 2.

Este trabajo para mí.

Si desea utilizar el python 3.6, debe mover el python3.6 en la parte superior de la lista.

Lo mismo se aplica a python2.7. Si desea tener el 2.7 como predeterminado, asegúrese de mover el python2.7 en la parte superior de la lista.

paso 1

introduzca la descripción de la imagen aquí

paso 2

introduzca la descripción de la imagen aquí

paso 3

introduzca la descripción de la imagen aquí

luego cierre cualquier indicador de comando de cmd y vuelva a abrirlo, debería funcionar como se esperaba.

python –version

 >>> Python 3.6 

Use el comando SET en Windows CMD para establecer temporalmente el python predeterminado para la sesión actual.

 SET PATH=C:\Program Files\Python 3.5 

Intente modificar la ruta en el registro de Windows (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment).

Advertencia: No rompas el registro 🙂