¿Cómo puedo ejecutar python 2 y 3 en Windows 7? [duplicar]


Esta pregunta ya tiene una respuesta aquí:

¿Hay alguna manera de instalar python 3 sobre una instalación de python 2 sin arruinar nada? El problema principal es que tengo código que se ejecuta por "python xxxxx.py abc123". ¿Hay una manera de cambiar python 3 para ser " python3 xxxx.py abc123"? El mismo comando python es el conflicto

Author: bernie, 2013-04-10

4 answers

Existe una mejor forma de coexistencia/lanzamiento de Python 2 y Python 3 en Windows. El Python 3.3 introdujo el lanzador de Python para Windows (ver http://www.python.org/dev/peps/pep-0397/).

Después de la instalación de Python 3.3, el py.exe y pyw.exe se copian en su directorio c:\Windows, y las asociaciones se establecen para la extensión .py para que utilice el lanzador. De forma predeterminada, Python 2 se inicia para py script.py. El py -3 script.py lanza Python 3. (Esto también significa que no se debe agregar ninguna ruta para Python al entorno {el C:\Windows ya está en el PATH.)

Lo mejor de todo es que #!python2 en el script causa lanzamiento vía Python 2, el #!python3 causa lanzamiento del script vía Python 3. De esta manera, puede usar scripts para ambas versiones de Python, y puede lanzarlos de la manera unificada {py script.py o simplemente haciendo clic en el icono del script.

Hay más detalles, pero esto es básicamente lo que necesitas.

Actualizar: Cuando se utiliza Python launcher para Windows, también puede lanzar su script Python desde la ventana cmd escribiendo > script.py (es decir, sin escribir explícitamente py the el nombre del launcher Python front delante del nombre del script) o incluso escribiendo el nombre sin la extensión .py (que es solo > script).

De esta manera, las cosas comienzan a parecerse a la forma de Unix de nombrar scripts( sin la necesidad de la extensión); sin embargo, todavía tiene que agregar la extensión .py al crear el script file.

(Sí, es un poco más desordenado que el enfoque Unix. Esta es la diferencia entre el " ¡Piensa primero!" y el "Vender primero!" enfoques del desarrollo de los sistemas operativos. De todos modos, mis felicitaciones al equipo de desarrollo de Python para exprimir lo mejor de Windows releasing lanzando el lanzador de Python para Windows.)

 87
Author: pepr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-14 12:42:46

No estoy seguro de si satisfaría tus necesidades, pero deberías echar un vistazo a virtualenv: http://www.virtualenv.org/en/latest /

Esto le permitirá crear entornos separados para Python 2 y 3 (usando la bandera-p). Si su caso de uso es algo para lo que esto no funcionaría, actualice la pregunta con más detalles y estoy seguro de que obtendrá otras sugerencias.

 6
Author: Shaun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-09 20:45:57

Suponiendo que instale python3 en un directorio separado, también podría cambiar el nombre del ejecutable de python 3 a python3.exe.

 2
Author: MichaelJCox,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-09 20:55:52

Necesita editar su variable de entorno para incluir su ruta de Python 3 o Python 2.

 0
Author: FA5er,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-21 22:47:44