7 votos

Windows insiste en asociar archivos .py con la versión incorrecta de Python

Tengo que Python Python 2.7 y 3.3 instalado en mi máquina (estoy en Windows 8).

Me gustaría .py archivos se abren con Python 3.3 por defecto. La única Python path en la variable de entorno PATH es la 3.3. Aún así, cuando se abre .py archivos veo que está siendo interpretado por Python 2.7, incluso cuando vuelvo a abrir explícitamente con el Python 3.3 exe ("Abrir con" y elegir el 3.3 exe). También he intentado cambiar el Python.exe la versión con "Asociaciones" en el panel de control de Windows. No estoy seguro de que ha cambiado nada. No importa lo que haga, la salida del siguiente programa es 2.7.3:

import sys
print(sys.version)

¿Cómo puedo forzar a Windows 8 para abrir .py archivos con Python 3.3?

1voto

pepr Puntos 114

Tratar de añadir #!python3 a la primera línea. 3.3 Python introducido Python Launcher para Windows que asocia .py con c:\windows\py.exe . Se lanza el 2 más alto de Python por defecto. Ver http://stackoverflow.com/a/17245543/1346705

1voto

Ihor B. Puntos 111

Cambiar el shebang (#! python3) puede ayudar a usted, pero usted tiene un problema: si la secuencia de comandos de python tiene parámetros, que serán cortadas al ejecutar el comando

somepythonfile.py your_parameters

Usted recibirá py.exe correr con solo "somepythonfile.py" y SIN parámetros, créanme.

El método que ha trabajado para mí es la siguiente: ejecutar la aplicación http://www.nirsoft.net/utils/file_types_manager.html - esta es una de asociación de archivo del administrador. Corrección de la asociación para los archivos de python para ser

"C:\Windows\py.exe" "%1" %*

en lugar de

"C:\Windows\py.exe" "%1"

O, alternativamente, establecer

"C:\Python34\pythonw.exe" "%1" %*

explícitamente - para que coincida con la versión deseada y omitir el proceso de la línea.

1voto

Davidos Krausos Puntos 101

Parece que windows no está comprobando la ruta completa del ejecutable. Intentar renombrar el python.exe de versión 2 (respectivamente 3) a algún nombre temp. A continuación se asocian con este nombre. Y cambiar todo nuevo.

Para su información se puede comprobar la Asociación de archivo con:

C:\Users\shadowed>assoc .py
.py=Python.File

C:\Users\shadowed>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*

0voto

Serdalis Puntos 136

Si desea cambiar el RALENTÍ se utiliza cuando el derecho de hacer clic usted puede entrar en el registro y encontrar la clave:

HKEY_CLASSES_ROOT\Python.File\shell\Edit with IDLE\command

Usted debe ver algo como esto:

"C:\Python27\pythonw.exe" "C:\Python27\Lib\idlelib\idle.pyw" -e "%1"

Cambiar todos los 27 a 33 si ha instalado el pitones en el área por defecto. Si no sólo cambiar la ruta de acceso donde tu 3.3 aplicación se almacena.

Para cambiar el valor predeterminado de la línea de comandos de python usted debe hacer lo mismo con la ruta de acceso en la PATH variable de entorno.

0voto

Twisted Code Puntos 36

¿Has probado a desinstalar Python 2.7 temporalmente? Que puede arreglar el archivo de la asociación. No estoy seguro, ya que no estoy familiarizado con Windows 8 más allá de lo poco que he aprendido de él cuando lo he probado en el ordenador de alguien. Ni siquiera estoy seguro de que funcionará en Windows 7, pero vale la pena un tiro si usted me pregunta.

También recomiendo el uso de la etiqueta de la versión específica de Windows que esté utilizando, en lugar de la estándar de windows "" de la etiqueta. En este caso, yo podría usar ambos, desde las asociaciones de archivo no cambian mucho entre las versiones de Windows. Al menos el uso correcto de la etiqueta (en windows 8), en cualquier caso. Entonces usted va a obtener más respuestas de gente que busca esa etiqueta.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: