2011-01-12 14 views
13

Tengo dos versiones de Python: Python 2.5 y Python 2.7. Cuando estoy configurando django, quiero usar Python 2.7, pero django está usando Python 2.5 de alguna manera.Cambiar el intérprete predeterminado de Python en Windows XP

¿Cómo puedo asegurarme de que django use Python 2.7? Estoy usando Windows XP

+0

duplicado posible de [Cambio de ventanas intérprete de Python] (http://stackoverflow.com/questions/1053794/changing-python-interpreter-windows) –

Respuesta

10

Cambie la variable de entorno del sistema PATH para que apunte a la versión de Python que desea usar.

+0

Tenga en cuenta que esto no va a cambiar una asociación de archivos. –

+2

¿cómo? por favor, elabore, esto no ayuda mucho – Martian2049

21

Cambiar su RUTA le ayudará, si siempre llama a python directamente, en lugar de depender de la asociación de archivos .

Por ejemplo: "python foo.py" ejecutará la secuencia de comandos 'foo' con el que python sea el primero en su RUTA.

Sin embargo, si acaba de ejecutar "foo.py", se llamará primero al controlador asociado en el registro para esta extensión de archivo.

En su caso, parece que sería python 2.5. Echar un vistazo al abrir regedit, y comprobar las valores de:

HKEY_CLASSES_ROOT\Python.File\shell\open\command 

El valor (por defecto) que aparece probablemente será algo así como "C:\Python25\python.exe" "%1" %*

Una rápida (y sucio?) Fijar para usted sería de cambie estos valores a la versión de Python que realmente desea.

Una mejor solución sería hacer algo como lo que se describe en esta solicitud de función:

http://bugs.python.org/issue4485

Desde entonces, todo el tiempo que tenía derechos de administrador, usted podría cambiar a medida que necesitaba señalando Assoc en la versión que quieres rápidamente

+6

BTW Forma rápida de encontrar el controlador para la extensión de archivo python: 'ftype | find/I" python "' –

+0

esta respuesta proporciona más detalles sobre cómo encontrar lo que está asociado con .py http: // stackoverflow.com/a/5088548/264607 y la respuesta de shitalshah es más actual: http://stackoverflow.com/a/24277570/264607 – BlackICE

12

Hacer dos .cmd simples:

python25.cmd:

@echo off 
set PYTHONHOME=c:\python25 
set PATH=%PATH%;c:\python25 

python27.cmd:

@echo off 
set PYTHONHOME=c:\python27 
set PATH=%PATH%;c:\python27 

Ahora puede cambiar entre Python 2.5 y 2.7. :)

5

El instalador de Python no cambia a la variable de entorno PATH bajo windows. Al escribir algo así como python setup.py ventanas del primer mira para el pitón en el camino, entonces en el usuario actual sección del Registro

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe 

y luego en la sección de Registro del equipo local

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\Python.exe 
5

Ahora que Python 3.3 se libera es más fácil para 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 utilizando una directiva de estilo UNIX. También hay opciones de línea de comando y variable 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.

1

Cambiar la clave de registro en

HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command 
4

Si desea cambiar entre Python 2.x y 3.x Python entonces forma más fácil es usar Python Launcher que se incluye desde la versión 3.3. Esto es básicamente py.exe en la carpeta de Windows. Para iniciar símbolo del sistema 3.x Python, simplemente escriba

py -3 

ejecutar secuencias de comandos con Python 3.x, utilice

py -3 script.py 

Si no se especifica -3 entonces se utiliza la versión 2.x por defecto. También puede hacer que esto sea explícito utilizando el interruptor -2.7.

py -2.7 script.py 

Finalmente, ahora puede incrustar el número de versión para usar en el archivo .script. Esto funciona porque después de que Python 3.3+ está instalado, asocia py.exe con archivos .py.

#! python3 
import sys 
sys.stdout.write("hello from Python %s\n" % (sys.version,)) 
+1

Agregaría que puede cambiar el valor predeterminado en el archivo py.ini incluido en la ubicación de py .exe – BlackICE

Cuestiones relacionadas