instalar and python windows compatibility backwards-compatibility build-environment

and - install python windows



Cómo instalar tanto Python 2.x como Python 3.x en Windows 7 (19)

Realizo la mayor parte de mi programación en Python 3.x en Windows 7, pero ahora necesito usar la Biblioteca de Imágenes de Python (PIL), ImageMagick y wxPython, todo lo cual requiere Python 2.x.

¿Puedo tener tanto Python 2.x como Python 3.x instalados en Windows 7? Cuando ejecuto un script, ¿cómo "elegiría" qué versión de Python debería ejecutarlo? ¿Podrán los programas mencionados manejar múltiples versiones de Python instaladas a la vez? He buscado horas y horas para hacer esto sin éxito.

Gracias.



De hecho, solo pensé en una solución interesante. Si bien Windows no le permitirá crear fácilmente alias de programas, en su lugar puede crear archivos de lotes cuyo nombre se ha cambiado y que llamarán al programa actual.

En lugar de cambiar el nombre del archivo ejecutable, que se romperá en muchas cosas, incluido pip, cree el archivo python2.bat en el mismo directorio que python2.exe. Luego agrega la siguiente línea:

%~dp0python %*

¿Qué significa esta sintaxis arcaica? Bueno, es un script por lotes, (versión de bash para Windows). % ~ dp0 obtiene el directorio actual y% * solo pasará todos los argumentos a Python que se pasaron al script.

Repita para python3.bat

También puede hacer lo mismo para pip y otras utilidades, simplemente reemplace la palabra python en el archivo con pip o cualquiera que sea el nombre del archivo. El alias será como se llame el archivo.

Lo mejor de todo, cuando se agrega a la RUTA, Windows ignora la extensión, por lo que se ejecuta

python3

Lanzará la versión python3 y el comando python2 lanzará la versión python2.

Por cierto, esta es la misma técnica que Spyder utiliza para agregarse a la ruta en Windows. :)


Encontré que la forma formal de hacer esto es la siguiente:

Simplemente instale dos (o más, usando sus instaladores) versiones de Python en Windows 7 (para mí trabajar con 3.3 y 2.7).

Siga las instrucciones a continuación, cambiando los parámetros para sus necesidades.

Cree la siguiente variable de entorno (por defecto al hacer doble clic):

Name: PY_PYTHON Value: 3

Para iniciar un script en un intérprete en particular, agregue el siguiente shebang (al principio del script):

#! python2

Para ejecutar un script con un intérprete específico, use el siguiente comando de solicitud:

> py -2 MyScript.py

Para lanzar un intérprete específico:

> py -2

Para iniciar el intérprete predeterminado (definido por la variable PY_PYTHON):

> py

Recursos

Documentación: Uso de Python en Windows

PEP 397 - Lanzador de Python para Windows


Esto es lo que puedes hacer:

Instale cmder . Abra y use Cmder como lo haría con su terminal cmd. Utilice el alias de comando para crear alias de comando.

Hice lo siguiente:

alias python2 = c:/python27/python.exe alias python3 = c:/python34/python.exe

¡Y eso es! ;-)


Hice esto en tres pasos siguiendo las instrucciones aquí: Todo esto se toma directamente desde aquí: http://ipython.readthedocs.io/en/stable/install/kernel_install.html . Actualmente estoy ejecutando Python 2.x en Windows 8 y tengo Anaconda 4.2.13 instalado.

1) Primero instala la última versión de python:

conda create -n python3 python=3 ipykernel

2) Siguiente activar python3

activate python3

3) Instalar el kernel:

python -m ipykernel install --user

Si tiene Python 3 instalado y desea instalar 2, cambie el 2 y el 3 de arriba. Cuando abre un nuevo cuaderno, ahora puede elegir entre Python 2 o 3.


Instalé Python 2.7.13 y Python 3.6.1 en Windows 10pro y obtuve el mismo "error fatal" cuando probé pip2 o pip3.

Lo que hice para corregir esto fue ir a la ubicación de python.exe para los archivos de python 2 y python 3 y crear una copia de cada uno, luego renombré cada copia a python2.exe y python3.exe dependiendo de la versión de python en el Carpeta de Instalacion. Por lo tanto, tenía en cada carpeta de instalación de python un archivo python.exe y un python2.exe o python3.exe dependiendo de la versión de python.

Esto resolvió mi problema cuando escribí pip2 o pip3.


Instale el que más use (3.3 en mi caso) sobre el otro. Eso obligará a IDLE a usar el que quieras.

Alternativamente (desde el README de python3.3):

Instalando múltiples versiones

En los sistemas Unix y Mac, si pretende instalar varias versiones de Python utilizando el mismo prefijo de instalación (--prefijo del script de configuración), debe tener cuidado de que su ejecutable de Python principal no se sobrescriba con la instalación de una versión diferente. Todos los archivos y directorios instalados con "make altinstall" contienen la versión mayor y menor y, por lo tanto, pueden vivir lado a lado. "make install" también crea $ {prefix} / bin / python3 que se refiere a $ {prefix} /bin/pythonX.Y. Si pretende instalar varias versiones con el mismo prefijo, debe decidir qué versión (si corresponde) es su versión "primaria". Instala esa versión usando "make install". Instale todas las otras versiones usando "make altinstall".

Por ejemplo, si desea instalar Python 2.6, 2.7 y 3.3, siendo 2.7 la versión principal, ejecutaría "make install" en su directorio de compilación 2.7 y "make altinstall" en los demás.


Lo que he hecho en mi propia computadora con Windows donde tengo Python 2.7 y Python 3.4 instalado es que escribí un simple archivo .bat en el mismo directorio que mis archivos Python.exe. Se ven algo así como

cmd /k "c:/python27/python.exe" %*

El% * le permite agregar argumentos (archivos de Python) después. Creo que / k mantiene abierto el aviso después de que termina de ejecutar el script. Luego guardo eso como python27.bat Luego voy a mi directorio de Python 3 y hago un archivo bat allí. Ahora en mi linea de comando puedo escribir

Python27 helloworld.py

O

Python34 helloworld.py

Y se ejecutarán en sus respectivas versiones de Python. Asegúrese de que c: / python27 y c: / python34 estén en sus variables de entorno.

Tengo mi respuesta desde here


Lo que he hecho personalmente es muy simple.

Sistema: Windows 8.1 x86_64, versiones de Python x64

  1. Instale los últimos binarios de Python 3.x y agregue el directorio a la ruta (también registro las extensiones .py para que se ejecuten con Python 3.x).
  2. Instale los últimos binarios de Python 2.x (no registrar extensiones con él ni agregarlos a la ruta).

Parece que Python 3.x proporciona compatibilidad hacia atrás con Python 2.x si se instalan los binarios de Python 2.x.

Descarga los instaladores del sitio web oficial de Python. Después de instalarlos como antes, ejecute Python 3 normalmente como lo hizo. Ahora, para los programas Python 2.x, ejecútelos como tales: py -2 [command] .

Probado en múltiples programas de Python 2.x solamente.


Lo que hice fue descargar tanto 2.7.6 como 3.3.4. Python 3.3.4 tiene la opción de agregarle la ruta en la variable de entorno para que se haga. Así que, básicamente, acabo de agregar manualmente Python 2.7.6.

Cómo...

  1. Inicio> en el tipo de búsqueda en entorno, seleccione "Editar variables de entorno a su cuenta" 1

  2. Desplázate hacia abajo hasta Ruta, selecciona ruta, haz clic en editar.

  3. Añadir C: / Python27; así que debería tener rutas a ambas versiones de Python allí, pero si no lo hace, puede editarlo fácilmente para que lo haga ..... C: / Python27; C: / Python33;

  4. Navegue a la carpeta Python27 en C: / y cambie el nombre de una copia de python.exe a python2.exe

  5. Navegue a la carpeta Python34 en C: / y cambie el nombre de una copia de python.exe a python3.exe

  6. Prueba: abre el indicador de comandos y escribe python2 .... BOOM! Python 2.7.6. salir fuera

  7. Prueba: abre el indicador de comando y escribe python3 .... BOOM! Python 3.4.3. salir fuera

Nota: (para no romper los comandos pip en los pasos 4 y 5, mantenga una copia de python.exe en el mismo directorio que el archivo renombrado)


Para instalar y ejecutar cualquier versión de Python en el mismo sistema, siga mi guía a continuación.

Por ejemplo, digamos que desea instalar Python 2.xy Python 3.x en el mismo sistema Windows.

  1. Instale sus dos versiones binarias en cualquier lugar que desee.

    • Cuando se le solicite no registre sus extensiones de archivo y
    • No los agregue automáticamente a la variable de entorno PATH
  2. Ejecutando simplemente el comando python el ejecutable que se encuentra por primera vez en PATH se elegirá para el lanzamiento. En otras palabras, agregue los directorios de Python manualmente. El que agregue primero se seleccionará cuando escriba python . Los programas consecutivos de Python (orden creciente en el que sus directorios se colocan en PATH) se elegirán así:

    • py -2 para el segundo python
    • py -3 para el tercer python etc.
  3. No importa el orden de los "pitones" puedes:

    • ejecute los scripts de Python 2.x con el comando: py -2 (funcionalidad de Python 3.x) (es decir, se seleccionará el primer programa de instalación de Python 2.x que se encuentra en su PATH)
    • ejecute los scripts de Python 3.x con el comando: o py -3 (es decir, se seleccionará el primer programa de instalación de Python 3.x que se encuentra en su PATH)

En mi ejemplo tengo Python 2.7.14 instalado primero y Python 3.5.3. Así es como mi variable PATH comienza con:

PATH = C: / Archivos de programa / Microsoft MPI / Bin /; C: / Python27; C: / Archivos de programa / Python_3.6 / Scripts /; C: / Archivos de programa / Python_3.6 /; C: / ProgramData / Oracle / Java / javapath; C: / Archivos de programa (x86) / Archivos comunes / Intel / Shared

...

Tenga en cuenta que Python 2.7 es primero y Python 3.5 segundo.

  • Entonces, ejecutar el comando python lanzará python 2.7 (si Python 3.5 el mismo comando lanzaría Python 3.5).
  • La ejecución de py -2 inicia Python 2.7 (porque sucede que el segundo Python es Python 3.5, que es incompatible con py -2 ). Ejecutar py -3 inicia Python 3.5 (porque es Python 3.x)
  • Si tuvieras otro pitón más adelante en tu camino, lanzarías así: py -4 . Esto puede cambiar si / cuando se lanza Python versión 4.

Ahora py -4 o py -5 etc. en las salidas de mi sistema: la Requested Python version (4) not installed o la Requested Python version (5) not installed etc.

Esperemos que esto sea lo suficientemente claro.


Puede instalar varias versiones de Python en una máquina y, durante la instalación, puede elegir que una de ellas se asocie con las extensiones de archivo de Python. Si instala módulos, habrá diferentes paquetes de configuración para diferentes versiones, o puede elegir qué versión desea orientar. Como generalmente se instalan en el directorio site-packages de la versión del intérprete, no debería haber ningún conflicto (pero no lo he probado). Para elegir qué versión de python, tendría que especificar manualmente la ruta al intérprete si no es la predeterminada. Por lo que sé, compartirían las mismas variables PATH y PYTHONPATH, lo que puede ser un problema.

Nota: ejecuto Windows XP. No tengo idea si algo de esto cambia para otras versiones, pero no veo ninguna razón para hacerlo.


Si no puede hacer que nada más funcione, abra un intérprete en la versión que elija (prefiero usar iPython) y:

import subprocess subprocess.call(''python script.py -flags'')

Esto utiliza cualquier versión de python en la que esté operando actualmente. Funciona bien para un solo script, pero se saldrá de control rápidamente si ejecuta muchos scripts, en cuyo caso siempre puede hacer un archivo por lotes con todas estas llamadas dentro. No es la respuesta más elegante, pero funciona.

¿Hay alguna manera de hacer alias para diferentes versiones de Python a la Linux?


Si usa Anaconda Python, puede instalar fácilmente varios entornos.

Digamos que tenías Anaconda Python 2.7 instalado y querías un entorno python 3.4:

conda create -n py34 python=3.4 anaconda

Luego para activar el entorno:

activate py34

Y a desactivo:

deactivate py34

(Con Linux, debes usar source activate py34 ).

Campo de golf:

Descargar Anaconda Python

Instrucciones para ambientes


Solo tuve que instalarlos. Luego utilicé el software gratuito (y portátil) en http://defaultprogramseditor.com/ en "Configuración de tipo de archivo" / "Menú contextual" / búsqueda: "py", elegí el archivo .py y agregué un comando ''abrir'' para 2 IDLE copiando el comando existente llamado ''abrir con IDLE, cambiando los nombres a IDLE 3.4.1 / 2.7.8, y reemplazando los números de los archivos de sus respectivas versiones en la ruta del programa. Ahora solo tengo que hacer clic derecho en el archivo .py y elegir qué IDLE quiero usar. Puede hacer lo mismo con los intérpretes directos si lo prefiere.


Tengo varias versiones en windows. Acabo de cambiar el nombre exe de la versión a la que no estoy por defecto.

python.exe -> python26.exe

pythonw.exe -> pythonw26.exe

En cuanto a los instaladores de paquetes, la mayoría de los instaladores exe le permiten elegir la instalación de python para agregar el paquete también. Para la instalación manual, consulte la opción --prefix para definir dónde se debe instalar el paquete:

http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme


Verifique las variables de entorno de su sistema después de instalar Python, los directorios de python 3 deben estar primero en su variable PATH, luego python 2.

La variable de ruta que coincida primero es la que usa Windows.

Como siempre py -2 lanzará python2 en este escenario.


Yo mismo me he encontrado con ese problema e hice mis lanzadores en un .bat para que pudieras elegir la versión que deseas lanzar.

El único problema es que su .py debe estar en la carpeta de python, pero de todos modos aquí está el código:

Para Python2

@echo off title Python2 Launcher by KinDa cls echo Type the exact version of Python you use (eg. 23, 24, 25, 26) set/p version= cls echo Type the file you want to launch without .py (eg. hello world, calculator) set/p launch= path = %PATH%;C:/Python%version% cd C:/Python%version% python %launch%.py pause

Para Python3

@echo off title Python3 Launcher by KinDa cls echo Type the exact version of Python you use (eg. 31, 32, 33, 34) set/p version= cls echo Type the file you want to launch without .py (eg. hello world, calculator) set/p launch= cls set path = %PATH%:C:/Python%version% cd C:/Python%version% python %launch%.py pause

Guárdalos como .bat y sigue las instrucciones en el interior.


Solo funciona si ejecuta su código en su IDE de Python

Tengo ambos Python 2.7 y Python 3.3 instalados en mi sistema operativo Windows. Si intento iniciar un archivo, normalmente se abrirá en el IDE de python 2.7. La forma en que resolví este problema fue cuando elegí ejecutar mi código en Python 3.3, abro Python 3.3 IDLE (GUI de Python), selecciono un archivo, abro mi archivo con el IDLE y lo guardo. Luego, cuando ejecuto mi código, se ejecuta en el IDLE con el que lo abrí actualmente. Funciona a la inversa con 2.7.