instalar - Cómo ejecutar múltiples versiones de Python en Windows
python 3 (11)
Tenía dos versiones de Python instaladas en mi máquina (versiones 2.6 y 2.5). Quiero ejecutar 2.6 para un proyecto y 2.5 para otro.
¿Cómo puedo especificar cuál quiero usar?
Estoy trabajando en Windows XP SP2.
Agregando dos soluciones más al problema:
- Use pylauncher (si tiene Python 3.3 o posterior, no es necesario instalarlo ya que comes con Python) y agregue líneas de shebang a sus scripts;
#! c:/[path to Python 2.5]/python.exe
#! c:/[path to Python 2.5]/python.exe
- para los scripts que desea ejecutar con Python 2.5
#! c:/[path to Python 2.6]/python.exe
#! c:/[path to Python 2.6]/python.exe
- para los scripts que desea ejecutar con Python 2.6
o en lugar de ejecutar el comando python
ejecuta pylauncher command ( py
) specyfing qué versión de Python quieres;
py -2.6
- versión 2.6
py -2
- última versión instalada 2.x
py -3.4
- versión 3.4
py -3
- última versión instalada 3.x
- Instala virtualenv y crea dos virtualenvs;
virtualenv -pc:/[path to Python 2.5]/python.exe [path where you want to have virtualenv using Python 2.5 created]/[name of virtualenv]
virtualenv -pc:/[path to Python 2.6]/python.exe [path where you want to have virtualenv using Python 2.6 created]/[name of virtualenv]
por ejemplo
virtualenv -pc:/python2.5/python.exe c:/venvs/2.5
virtualenv -pc:/python2.6/python.exe c:/venvs/2.6
entonces puedes activar el primero y trabajar con Python 2.5 como este
c:/venvs/2.5/activate
y cuando quieres cambiar a Python 2.6 lo haces
deactivate
c:/venvs/2.6/activate
Aquí hay un truco rápido:
- Vaya al directorio de la versión de python que desea ejecutar
- Haga clic derecho en python.exe
- Seleccione '' Crear acceso directo ''
- Dale a ese atajo un nombre para llamar por (yo uso p27, p33, etc.)
- Mueva ese acceso directo a su directorio de inicio (
C:/Users/Your name
) - Abra un símbolo del sistema e ingrese
name_of_your_shortcut.lnk
(yo usop27.lnk
)
Cuando instala Python, no sobrescribe otras instalaciones de otras versiones principales. Por lo tanto, la instalación de Python 2.5.x no sobrescribirá a Python 2.6.x, aunque la instalación de 2.6.6 sobrescribirá 2.6.5.
Entonces puedes instalarlo. Luego llamas a la versión de Python que quieras. Por ejemplo:
C:/Python2.5/Python.exe
para Python 2.5 en Windows y
C:/Python2.6/Python.exe
para Python 2.6 en Windows, o
/usr/local/bin/python-2.5
o
/usr/local/bin/python-2.6
en Windows Unix (incluidos Linux y OS X).
Cuando instale en Unix (incluidos Linux y OS X) obtendrá un comando de python
genérico instalado, que será el último que instaló. Esto no suele ser un problema, ya que la mayoría de los scripts llamará explícitamente a /usr/local/bin/python2.5 o algo solo para protegerse de eso. Pero si no quiere hacer eso, y probablemente no lo haga, puede instalarlo así:
./configure
make
sudo make altinstall
Tenga en cuenta que "altinstall" significa que lo instalará, pero no reemplazará el comando python
.
En Windows no se obtiene un comando global de python
por lo que yo sé, así que eso no es un problema.
Desde Python 3.3 en adelante, está el lanzador oficial de Python para Windows ( http://www.python.org/dev/peps/pep-0397/ ). Ahora, puede usar #!pythonX
para determinar la versión deseada del intérprete también en Windows. Vea más detalles en mi otro comentario o lea el PEP 397.
Resumen: py script.py
lanza la versión de Python indicada en #!
o Python 2 si #!
Está perdido. El py -3 script.py
lanza el Python 3.
La forma más fácil de ejecutar múltiples versiones de python en Windows se describe a continuación de la siguiente manera:
1) Descargue las últimas versiones de python de python.org/downloads seleccionando la versión relevante para su sistema.
2) Ejecute el instalador y seleccione Agregar Python 3.x a la ruta para establecer la ruta automáticamente en Python 3 (solo tiene que hacer clic en la casilla de verificación). Para python 2 abre tu instalador de python 2, selecciona las preferencias que quieras, pero recuerda establecer Add python.exe en la ruta a Will se instalará en el disco duro local , ahora solo haz clic en siguiente y espera a que el instalador finalice.
3) Cuando ambas instalaciones están completas. Haga clic derecho en mi computadora - Vaya a propiedades - Seleccione configuración avanzada del sistema - Vaya a variables de entorno - Haga clic en Nuevo en Variables del sistema y agregue una nueva variable del sistema con nombre de variable como PY_PYTHON y establezca este valor de variable en 3 . Ahora haz clic en OK y deberías haber terminado.
4) Ahora para probar esto abra el símbolo del sistema . Una vez que esté allí escriba python o py , debería abrir python3 .
5) Ahora salga de python3 escribiendo exit () . Ahora escriba py -2 , debería abrir python 2.
Si nada de esto funciona, reinicie la computadora y, si el problema persiste, desinstale todo y repita los pasos.
Gracias.
Según @alexander puedes hacer un conjunto de enlaces simbólicos como a continuación. Ponlos en algún lugar que esté incluido en tu camino para que puedan invocarse fácilmente
> cd c:/bin
> mklink python25.exe c:/python25/python.exe
> mklink python26.exe c:/python26/python.exe
Siempre que c: / bin o donde sea que los hayas colocado está en tu camino, ahora puedes ir
> python25
Simplemente llame al ejecutable correcto
Usando el Editor de Entorno Rápido puede presionar en la parte superior el directorio de la instalación de Python deseada. Por ejemplo, para iniciar python desde el directorio c: / Python27, asegúrese de que el directorio c: / Python27 esté antes o encima del directorio c: / Python36 en la variable de entorno Path. Desde mi experiencia, el primer ejecutable de Python encontrado en el entorno de Path se está ejecutando. Por ejemplo, tengo MSYS2 instalado con Python27 y dado que he agregado C: / MSYS2 a la ruta antes de C: / Python36, se está ejecutando el python.exe de la carpeta C: / MSYS2 ....
Usar un archivo por lotes para cambiar, fácil y eficiente en Windows 7. Utilizo esto:
En el diálogo de variable de entorno (C: / Windows / System32 / SystemPropertiesAdvanced.exe),
En la sección variables de usuario
se agregó% pathpython% a la variable de entorno de ruta
eliminado cualquier referencia a python pathes
En la sección variables de sistema
- eliminado cualquier referencia a python pathes
Creé archivos por lotes para cada instalación de Python (ejemplo para 3.4 x64
Nombre = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) solo para recordar.
Contenido del archivo =
Set PathPython=C:/Python36AMD64/Scripts/;C:/Python36AMD64/;C:/Tcl/bin
setx PathPython %PathPython%
Para pasar de una versión a otra, ejecuto el archivo por lotes en modo de administrador.
!!!!! Los cambios son efectivos para las ventanas de la línea de comando SUBSIGUIENTE ABIERTA. !!!
Así que tengo control exacto sobre eso.
cp c: / python27 / bin / python.exe como python2.7.exe
cp c: / python34 / bin / python.exe como python3.4.exe
todos están en la ruta del sistema, elija la versión que desea ejecutar
C:/Users/username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:/Users/username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Ejecutar una copia diferente de Python es tan fácil como iniciar el ejecutable correcto. Menciona que ha iniciado una instancia de python, desde la línea de comandos, simplemente escribiendo python
.
Lo que hace en Windows es rastrear la variable de entorno% PATH%, buscando un archivo ejecutable, ya sea archivo por lotes (.bat), archivo de comandos (.cmd) o algún otro ejecutable para ejecutar, que coincida con el nombre dado. Cuando encuentra el archivo correcto para ejecutar, lo hace.
Ahora, si ha instalado dos versiones de Python 2.5 y 2.6, la ruta tendrá sus dos directorios, algo así como PATH=c:/python/2.5;c:/python/2.6
pero Windows dejará de examinar la ruta cuando encuentra una coincidencia.
Lo que realmente necesita hacer es llamar explícitamente a una o ambas aplicaciones, como c:/python/2.5/python.exe
o c:/python/2.6/python.exe
.
La otra alternativa es crear un atajo al respectivo python.exe llamando a uno de ellos python25 y el otro python26; entonces simplemente puede ejecutar python25
en su línea de comando.