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.
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.
Respuestas:
Ejecutar una copia diferente de Python es tan fácil como iniciar el ejecutable correcto. Menciona que ha comenzado una instancia de Python, desde la línea de comandos, simplemente escribiendo python
.
Lo que esto hace en Windows es rastrear la %PATH%
variable de entorno, buscando un ejecutable, ya sea un archivo por lotes ( .bat
), un archivo de comando ( .cmd
) o algún otro ejecutable para ejecutar (esto está controlado por la PATHEXT
variable de entorno), que coincide con el nombre dado. Cuando encuentra el archivo correcto para ejecutar el archivo se está ejecutando.
Ahora, si ha instalado dos versiones de Python 2.5 y 2.6, la ruta tendrá sus dos directorios, algo así, PATH=c:\python\2.5;c:\python\2.6
pero Windows dejará de examinar la ruta cuando encuentre una coincidencia.
Lo que realmente necesita hacer es llamar explícitamente una o ambas aplicaciones, como c:\python\2.5\python.exe
o c:\python\2.6\python.exe
.
La otra alternativa es crear un acceso directo a la python.exe
llamada respectiva, una de ellas python25
y la otra python26
; entonces simplemente puede ejecutar python25
en su línea de comando.
Agregar dos soluciones más al problema:
#! 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
- para los scripts que desea ejecutar con Python 2.6
o en lugar de ejecutar el python
comando, ejecute el comando pylauncher ( py
) especificando qué versión de Python desea;
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
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[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 -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
entonces puede activar el primero y trabajar con Python 2.5 de esta manera
c:\venvs\2.5\activate
y cuando quiera cambiar a Python 2.6, lo hará
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
. Esto está en Windows 10 si eso hace la diferencia. Aparte de eso, funciona como un encanto, gracias.
A partir de Python 3.3, existe el iniciador oficial de Python para Windows ( http://www.python.org/dev/peps/pep-0397/ ). Ahora, puede usar el #!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: Los py script.py
lanzamientos de la versión de Python se indica en #!
o Python 2 si #!
no se encuentra. Los py -3 script.py
lanzamientos de la Python 3.
.py
extensión. El lanzador en sí está instalado en el C:\Windows
que ya está en el PATH
. De esta manera, tampoco es PATH
necesario modificar la variable.
Según @alexander, puede hacer un conjunto de enlaces simbólicos como a continuación. Póngalos en algún lugar que esté incluido en su camino para que se puedan invocar 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 haya colocado estén en su camino, ahora puede ir
> python25
mklink
solo está disponible de forma nativa en Windows Vista / 2008 +. En XP y Server 2003, se podría crear un "enlace duro" usando fsutil hardlink create <new filename> <existing filename>
y colocando o moviendo el <nuevo nombre de archivo> a algún lugar de su ruta. Sin embargo, los enlaces duros solo funcionan en el mismo disco.
instalar python
Variable ambiental
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
renombrar archivo
pepita
python2 -m pip install package
python3 -m pip install package
python
comando sería confuso para el sistema operativo.
Por ejemplo para el tipo de versión 3.6 py -3.6
. Si también tiene versiones de 32 bits y 64 bits, simplemente puede escribir py -3.6-64
o py -3.6-32
.
py
ejecutable? ¿Es una adición solo para Windows? ¿Es posible incorporar esto en un script de línea de comandos multiplataforma que tiene en la parte superior: #!/usr/bin/env python3
por ejemplo?
Cuando instala Python, no sobrescribirá otras instalaciones de otras versiones principales. Por lo tanto, la instalación de Python 2.5.x no sobrescribirá 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 deseas. 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 (incluyendo Linux y OS X) obtendrá un python
comando genérico instalado, que será el último que instaló. Esto no es un problema, ya que la mayoría de los scripts llamarán explícitamente a /usr/local/bin/python2.5 o algo solo para protegerse contra eso. Pero si no quieres hacer eso, y probablemente no, puedes instalarlo así:
./configure
make
sudo make altinstall
Tenga en cuenta el "altinstall" que significa que lo instalará, pero no reemplazará el python
comando.
En Windows no obtienes un python
comando global hasta donde yo sé, así que eso no es un problema.
C:\Python2.5
o C:\Python2.6
aparece en la PATH
variable de entorno, la versión correspondiente de Python se convertirá en la predeterminada a menos que la anule especificando explícitamente una ruta diferente al .exe que desea usar.
Recomiendo el proyecto pyenv-win .
Gracias al trabajo de kirankotari , ahora tenemos una versión para Windows de pyenv.
Aquí hay un truco rápido:
C:\Users\Your name
)name_of_your_shortcut.lnk
(uso p27.lnk
)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.
>>>
Usando un archivo por lotes para cambiar, fácil y eficiente en Windows 7. Yo uso esto:
En el cuadro de diálogo 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
eliminó cualquier referencia a los parches de python
En la sección variables del sistema
Creé archivos por lotes para cada instalación de Python (por ejemplo, 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 cambiar entre versiones, ejecuto el archivo por lotes en modo administrador.
!!!!! Los cambios son efectivos para las ventanas de símbolo del sistema SUBSIGUIENTE ABIERTAS. !!!
Así que tengo el control exacto sobre eso.
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 desde 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 pitón 2 abierta hasta su instalador Python 2, seleccionar preferencias lo que desee, pero sólo recuerda al conjunto Agregar a python.exe camino a Se instalará en el disco duro local , ahora simplemente haga clic en Siguiente y espere a que el instalador a fin.
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 el nombre de la variable como PY_PYTHON y establezca el valor de esta variable en 3 . Ahora haga clic en Aceptar y ya debería 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.
Puede crear diferentes entornos de desarrollo de Python gráficamente desde Anaconda Navigator. Tuve el mismo problema mientras trabajaba con diferentes versiones de Python, así que usé el navegador anaconda para crear diferentes entornos de desarrollo de Python y utilicé diferentes versiones de Python en cada entorno.
Aquí está la documentación de ayuda para esto.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Con el Editor de entorno rápido , puede empujar hacia arriba 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, se está ejecutando el primer ejecutable de Python encontrado en el entorno Path. Por ejemplo, tengo instalado MSYS2 con Python27 y desde que agregué C: \ MSYS2 a la ruta antes de C: \ Python36, se está ejecutando python.exe desde la carpeta C: \ MSYS2 ....
Simplemente llame al ejecutable correcto
python
entrar en el shell intente python2.5
o python2.6
. No soy un usuario de Windows, pero en UNIX / usr / bin / python es por lo general un alias para el ejecutable completo, estoy asumiendo Python en Windows está instalado en una manera similar