¿Cómo puedo encontrar dónde está instalado Python en Windows?

169

Quiero encontrar mi ruta de instalación de Python en Windows. Por ejemplo:

C:\Python25

¿Cómo puedo encontrar dónde está instalado Python?

Fang-Pen Lin
fuente
Deberías dar más información. Sabes que Python está instalado, pero ¿puedes ejecutar Python o no? En mi caso, no lo instalé; Es posible que varios productos lo hayan instalado y quiero averiguar si existe en algún lugar del sistema de archivos. ¿El intérprete se llamaría python.exe? No tengo idea.
David Spector el

Respuestas:

338

En su intérprete de Python, escriba los siguientes comandos:

>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
'C:\\Python25'
elo80ka
fuente
¿Qué pasa si estás dentro de un virtualenv? Esto no funcionará entonces.
user60561
1
@ user60561 Debería darte la ruta al ejecutable Python de Virtualenv. No sé una manera de obtener el sistema operativo Python, en ese caso, pero me interesaría saber por qué lo necesitarías, si estuvieras corriendo desde un Virtualenv.
elo80ka
Mi script crea un virtualenv, por lo que utiliza el sistema python para hacer eso. Sin embargo, me has hecho pensar, tal vez eso no sea necesario ... Lo comprobaré el lunes, ¡gracias!
user60561
Error: "C: \ WINDOWS \ system32> import os 'import' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes".
David Spector el
@David Spector: Mi mal. Debería haber notado que tienes que escribir esos comandos en el intérprete de Python, actualizaré la respuesta :-)
elo80ka
63

Si tiene python en su variable de entorno, puede usar el siguiente comando en cmd:

>>> donde python

o para el entorno unix

>>> qué pitón

imagen de línea de comando

Aekansh Kansal
fuente
Esta respuesta es mejor porque no implica crear y ejecutar un script, y es simplemente mucho más fácil. +1
applemonkey496
54

Sería cualquiera de

  • C: \ Python36
  • C: \ Usuarios \ (Su usuario conectado) \ AppData \ Local \ Programas \ Python \ Python36
Amol Manthalkar
fuente
2
mi camino de python 3.6 en win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
Lei Yang
66
La ruta de Python se puede personalizar libremente durante la instalación. Tenía varias máquinas que ni siquiera tenían ac: \ drive. Además, los datos de la aplicación local no son necesariamente inferiores C:\Users.
Matteo Italia
49

Si necesita conocer la ruta instalada en Windows sin iniciar el intérprete de Python, eche un vistazo en el registro de Windows.

Cada versión de Python instalada tendrá una clave de registro en:

  • HKLM\SOFTWARE\Python\PythonCore\versionnumber\InstallPath
  • HKCU\SOFTWARE\Python\PythonCore\versionnumber\InstallPath

En Windows de 64 bits, estará bajo la Wow6432Nodeclave:

  • HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\versionnumber\InstallPath
codeape
fuente
Esto parece ser falso en Windows 7, al menos para Python 2.7
Sharkin
¿Dónde se encuentra la información en Windows 7? Si tiene una computadora con Windows 7 a mano, ¿podría hacer una búsqueda en el registro de Python y PythonCore? Y vea si encuentra un valor de InstallPath en alguna parte.
codeape
77
En las versiones de Windows de 64 bits (que probablemente esté usando), estará bajo la clave Wow6432Node, IE HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ versionnumber \ InstallPath
piksel bitworks el
Actualice su respuesta con el comentario de 'piksel bitworks. Funcionó para mi.
dinesh ygv 01 de
1
Es una buena manera, pero para usarlo es necesario conocer la versión actual de Python. Todavía estoy buscando una buena manera de detectar la ruta de Python para usar con el instalador nsis.
PerryWerneck
13

En mi instalación de Windows, obtengo estos resultados:

>>> import sys
>>> sys.executable
'C:\\Python26\\python.exe'
>>> sys.platform
'win32'
>>>

(También puede buscar sys.pathubicaciones razonables).

gimel
fuente
pero, ¿cómo podemos hacer lo mismo con el archivo por lotes?
Patrick
@Patrick creo python -c "import sys; print(sys.executable)"que funcionará
wjandrea
8

En el syspaquete, puede encontrar mucha información útil sobre su instalación:

import sys
print sys.executable
print sys.exec_prefix

No estoy seguro de lo que esto proporcionará en su sistema Windows, pero en mi Mac executableapunta al binario de Python y exec_prefixa la raíz de instalación.

También puede probar esto para inspeccionar su sysmódulo:

import sys
for k,v in sys.__dict__.items():
    if not callable(v):
        print "%20s: %s" % (k,repr(v))
Guðmundur H
fuente
@GuoH, ¿podemos hacer lo mismo con el archivo por lotes?
Patrick
Podrías hacer algo comopython -c "import sys; print sys.executable"
Guðmundur H
7

Si desea la ruta después de una instalación exitosa, primero abra CMD y escriba python o python -i

Se abrirá un shell interactivo para usted y luego escriba

sistema de importación

sys.executable

Presiona enter y obtendrás la ruta donde está instalado tu python ...

Rutvik Vijaybhai Bhimani
fuente
El problema que tuve con esta solución es que estaba ejecutando Python 2.7 y quería actualizar a 3.6. Instalé 3.6 pero cuando escribo python en la línea de comando todavía estaba ejecutando desde el antiguo 2.7.
tzg
6

Manera simple es

1) open CMD
2) type >>where python
BigData-Guru
fuente
5

Puede buscar la "variable ambiental para su cuenta". Si ha agregado Python en la ruta, se mostrará como "ruta" en su cuenta de variable de entorno.

pero casi siempre lo encontrará en " C: \ Users \% User_name% \ AppData \ Local \ Programs \ Python \ Python_version "

la carpeta ' AppData ' puede estar oculta, hacerla visible desde la sección de vista de la barra de herramientas .

Amit Gupta
fuente
4

Para saber dónde está instalado Python, puede ejecutarlo where pythonen su cmd.exe.

otro nodo
fuente
(Esta publicación no parece proporcionar una respuesta a la pregunta. Edite su respuesta o simplemente publíquela como un comentario a la pregunta).
sɐunıɔ ןɐ qɐp
2
@ sɐunıɔ ןɐ qɐp En realidad es una respuesta e incluso podría ser correcta. No estoy muy familiarizado con Windows, pero de hecho parece haber un wherecomando que se supone que es similar a whichUnixes.
anothernode
@anothernode: La calidad de la respuesta es muy mala. En caso de que comprenda lo que el autor intenta decir, puede editarlo y corregirlo.
sɐunıɔ ןɐ qɐp
1
la calidad de la respuesta no es mala, la calidad de la pregunta sí. Puedo confirmar where pythontrabajos en cmd.exe
Kay
3

Si alguien necesita hacer esto en C #, estoy usando el siguiente código:

static string GetPythonExecutablePath(int major = 3)
{
    var software = "SOFTWARE";
    var key = Registry.CurrentUser.OpenSubKey(software);
    if (key == null)
        key = Registry.LocalMachine.OpenSubKey(software);
    if (key == null)
        return null;

    var pythonCoreKey = key.OpenSubKey(@"Python\PythonCore");
    if (pythonCoreKey == null)
        pythonCoreKey = key.OpenSubKey(@"Wow6432Node\Python\PythonCore");
    if (pythonCoreKey == null)
        return null;

    var pythonVersionRegex = new Regex("^" + major + @"\.(\d+)-(\d+)$");
    var targetVersion = pythonCoreKey.GetSubKeyNames().
                                        Select(n => pythonVersionRegex.Match(n)).
                                        Where(m => m.Success).
                                        OrderByDescending(m => int.Parse(m.Groups[1].Value)).
                                        ThenByDescending(m => int.Parse(m.Groups[2].Value)).
                                        Select(m => m.Groups[0].Value).First();

    var installPathKey = pythonCoreKey.OpenSubKey(targetVersion + @"\InstallPath");
    if (installPathKey == null)
        return null;

    return (string)installPathKey.GetValue("ExecutablePath");
}
Peter
fuente
1
¿HKCU y HKLM no existirían para la mayoría de los usuarios? Esto parecería perder instancias de python instaladas globalmente.
jtbr
Sí, parece que creé un error allí.
Peter
2

Vaya a C: \ Users \ USER \ AppData \ Local \ Programs \ Python \ Python36 si no está allí, abra la consola con Windows + ^ R Luego escriba cmd y presione enter type python si está instalado en su archivo local, le mostrará su versión desde allí, escriba lo siguiente import os import sys os.path.dirname (sys.executable)

SATYAJIT MAITRA
fuente
2

Si tiene el pycomando instalado, lo que probablemente haga, simplemente use el --list-pathsargumento para el comando:

py --list-paths

Salida de ejemplo:

Python instalado por Py Launcher para Windows
-3.8-32 C: \ Users \ cscott \ AppData \ Local \ Programs \ Python \ Python38-32 \ python.exe *
-2.7-64 C: \ Python27 \ python.exe

El * indica la versión actualmente activa para los scripts ejecutados con el pycomando.

carlin.scott
fuente
1

Esto funcionó para mí: C:\Users\Your_user_name\AppData\Local\Programs\Python

Mi instalado actualmente python versiones3.7.0

¡Espero que esto ayude!

Prashant Gonga
fuente
1

Es generalmente

'C: \ Usuarios \ nombre de usuario \ AppData \ Local \ Programas \ Python \ Python-version'

o intente usar (en cmd)

donde python

utkarsh2299
fuente
0

si todavía te quedaste atascado o obtienes esto

C:\\\Users\\\name of your\\\AppData\\\Local\\\Programs\\\Python\\\Python36

simplemente haz esto reemplaza 2 \ por uno

C:\Users\akshay\AppData\Local\Programs\Python\Python36
Ashwarya Sharma
fuente
0

Instalé 2 y 3 y tuve el mismo problema para encontrar 3. Afortunadamente, escribir la ruta en la ruta de Windows me permitió encontrar dónde lo había instalado. La ruta era una opción cuando instalé Python que acabo de olvidar. Si no seleccionó la configuración de la ruta cuando instaló Python 3, eso probablemente no funcionará, a menos que haya actualizado manualmente la ruta cuando la instaló. En mi caso fue en c: \ Archivos de programa \ Python37 \ python.exe

Douglas Gilliland
fuente
0

Si lo usa anaconda navigatoren Windows, puede ir también enviornmentsy desplazarse sobre los entornos, el rootentorno indicará dónde está instalado. Puede ayudar si desea utilizar este entorno cuando necesita conectarlo a otras aplicaciones, donde desea integrar algún código de Python.

PV8
fuente