¿Cómo hacer que Python 2.7 y Python 3.1 coexistan en Windows 7?

Tengo Python 3.1 instalado en mi escritorio, pero ahora necesito tener Python 2.7 para ejecutar CQL. Instalé ambas versiones de Python en mi caja, escriba 'Python', se invocó la versión 3.1. pero cuando traté de usar la versión 2.7 especificando la ruta del ejecutable de 2.7, se invocó de nuevo la 3.1, con algunos errores, como se indica a continuación:

C:\Python27>.\python.exe
Traceback (most recent call last):
  File "C:\Python31\lib\site.py", line 56, in <module>
    import os
  File "C:\Python31\lib\os.py", line 380, in <module>
    from _abcoll import MutableMapping  # Can't use collections (bootstrap)
  File "C:\Python31\lib\_abcoll.py", line 54
    class Hashable(metaclass=ABCMeta):
                        ^
SyntaxError: invalid syntax

¿Qué debería/podría hacer para que ambas versiones de Python funcionen para mí?

preguntado el 22 de mayo de 12 a las 18:05

¿Qué sucede si invocas a python de esta manera? C:\Python27>.\python.exe -E -

¿Cuáles son los resultados de echo %PYTHONPATH% y echo %PYTHONHOME%? -

1 Respuestas

Cualquiera de los dos usos cygwin tener un buen entorno bash que facilite el lanzamiento de scripts de python con intérpretes específicos, o usar virtualenv para crear entornos basados ​​en interpretaciones específicas:

> mkdir project
> cd project
> C:\Python27\Scripts\virtualenv.exe -p C:\Python32\python.exe .
> Scripts\activate

En este punto, su env se ha configurado para este proyecto y escribiendo python comenzará python3.2
Escribirías deactivate para volver a la normalidad env. Con este enfoque, puede configurar esto por proyecto para administrar las dependencias de versión entre proyectos de python, o puede hacer que esto sea más global para cada versión de python en general. Depende de usted.

En los sistemas basados ​​en *nix tenemos el lujo de la línea "shebang" en la parte superior del script para decirle qué intérprete usar. Windows solo tiene asociaciones de extensión de archivo a través de la GUI, y debe ser explícito en la línea de comando en forma de python <script.py>

contestado el 22 de mayo de 12 a las 19:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.