Como posso encontrar onde o Python está instalado no Windows?


169

Quero descobrir meu caminho de instalação do Python no Windows. Por exemplo:

C:\Python25

Como posso encontrar onde o Python está instalado?


Você deve dar mais informações. Você sabe que o Python está instalado, mas você pode executar o Python ou não? No meu caso, não o instalei; vários produtos podem ter instalado e eu quero descobrir se existe em algum lugar no sistema de arquivos. O intérprete seria chamado python.exe? Eu não faço ideia.
— David Spector

Respostas:


338

No seu intérprete Python, digite os seguintes comandos:

>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
'C:\\Python25'

E se você estiver dentro de um virtualenv? Isso não vai funcionar então.
— user60561

1
@ user60561 Deverá fornecer o caminho para o executável Python do Virtualenv. Eu não sei uma maneira de obter o python do SO, nesse caso, mas eu estaria interessado em saber por que você precisaria disso, se estivesse executando de um Virtualenv?
— elo80ka

Meu script cria um virtualenv, portanto, ele usa o python do sistema para fazer isso. Você me fez pensar, talvez isso não seja necessário ... Vou dar uma olhada na segunda-feira, obrigado!
— user60561

Erro: "C: \ WINDOWS \ system32> import os 'import' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote."
— David Spector

@ David Spector: Meu mal. Eu deveria ter notado que você tem que digitar os comandos no interpretador Python, eu vou atualizar a resposta :-)
— elo80ka

63

Se você tiver python em sua variável de ambiente, poderá usar o seguinte comando no cmd:

>>> onde python

ou para ambiente unix

>>> qual python

imagem da linha de comando


Essa resposta é melhor porque não envolve a criação e a execução de um script, e é simplesmente muito mais fácil. +1
— applemonkey496

54

Seria um dos

  • C: \ Python36
  • C: \ Usuários \ (Seu Usuário conectado) \ AppData \ Local \ Programas \ Python \ Python36

2
meu caminho do python 3.6 no win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
— Lei Yang

6
O caminho do Python pode ser personalizado livremente durante a instalação. Eu tinha várias máquinas que nem tinham uma unidade ac: \. Além disso, os dados do aplicativo local não estão necessariamente abaixo C:\Users.
— Matteo Italia

49

Se você precisar conhecer o caminho instalado no Windows sem iniciar o interpretador python, consulte o registro do Windows.

Cada versão do Python instalada terá uma chave de registro em:

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

No Windows de 64 bits, ele estará sob a Wow6432Nodechave:

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

isso parece ser falso no windows 7, pelo menos para python 2.7
— sharkin

Onde estão as informações localizadas no Windows 7? Se você tiver um computador com Windows 7 à mão, poderá fazer uma pesquisa no registro para Python e PythonCore? E veja se você encontra um valor InstallPath em algum lugar.
— codeape

7
Em versões de 64 bits do Windows (que você provavelmente está usando) será sob a chave Wow6432Node, IE HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ VersionNumber \ InstallPath
— piksel bitworks

Atualize sua resposta com o comentário de 'piksel bitworks. Funcionou para mim.
— dinesh ygv

1
É uma boa maneira, mas para usá-lo é necessário conhecer a versão atual do python. Ainda estou procurando uma boa maneira de detectar o caminho do python para uso com o instalador do nsis.
— PerryWerneck

13

Na minha instalação do Windows, recebo estes resultados:

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

(Você também pode procurar sys.pathpor locais razoáveis.)


mas como podemos fazer o mesmo usando o arquivo em lotes?
— Patrick

@Patrick Eu acho que python -c "import sys; print(sys.executable)"vai funcionar
— wjandrea

8

No syspacote, você pode encontrar muitas informações úteis sobre sua instalação:

import sys
print sys.executable
print sys.exec_prefix

Não sei ao certo o que isso dará no seu sistema Windows, mas no meu Mac executableaponte para o binário Python e exec_prefixpara a raiz da instalação.

Você também pode tentar isso para inspecionar seu sysmódulo:

import sys
for k,v in sys.__dict__.items():
    if not callable(v):
        print "%20s: %s" % (k,repr(v))

@GuoH podemos fazer o mesmo usando o arquivo em lotes?
— Patrick

Você poderia fazer algo parecido com:python -c "import sys; print sys.executable"
— Guðmundur H

7

Se você deseja que o Path Após a instalação bem-sucedida, primeiro abra o CMD e digite python ou python -i

Ele abrirá o shell interativo para você e digite

sys de importação

sys.executable

Pressione enter e você obterá o caminho onde o python está instalado ...


O problema que tive com esta solução é que eu estava executando o python 2.7 e queria atualizar para o 3.6. Eu instalei o 3.6, mas quando digito python na linha de comando, eu estava executando o antigo 2.7 ainda.
— tzg 14/11/18


5

Você pode procurar a "variável ambiental para sua conta". Se você adicionou o Python no caminho, ele será exibido como "caminho" na sua conta de variável ambiental.

mas quase sempre você o encontrará em " C: \ Usuários \% Nome_do_usuário% \ AppData \ Local \ Programas \ Python \ Python_version "

a pasta ' AppData ' pode estar oculta, torná-la visível na seção de exibição da barra de ferramentas .


4

Para saber onde o Python está instalado, você pode executar where pythonno seu cmd.exe.


(Esta postagem parece não fornecer uma resposta para a pergunta. Edite sua resposta ou publique-a como um comentário à pergunta).
— sɐunıɔ ןɐ qɐp

2
@ sɐunıɔ ןɐ qɐp Na verdade, é uma resposta e pode até estar correta. Eu não estou muito familiarizado com o Windows, mas na verdade parece haver um wherecomando que deve ser semelhante ao whichdo Unixes.
— Outro # nó 27/07

@ anothernode: A qualidade da resposta é muito ruim. Caso você entenda o que o autor está tentando dizer, você pode editá-lo e corrigi-lo.
— sɐunıɔ ןɐ qɐp

1
a qualidade da resposta não é ruim, a qualidade da pergunta é. Posso confirmar where pythontrabalhos no cmd.exe
— Kay

3

Se alguém precisar fazer isso em c #, estou usando o seguinte 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");
}

1
HKCU e HKLM não existiriam para a maioria dos usuários? Parece que falta instâncias python instaladas globalmente.
— jtbr

Sim, parece que eu criei um bug lá.
— Peter

2

Vá para C: \ Users \ USER \ AppData \ Local \ Programs \ Python \ Python36 se não estiver lá, abra o console pelo windows + ^ R Em seguida, digite cmd e pressione enter digite python, se instalado no arquivo local, ele mostrará sua versão a partir daí, digite a seguinte importação os import sys os.path.dirname (sys.executable)


2

Se você possui o pycomando instalado, o que provavelmente faz, basta usar o --list-pathsargumento para o comando:

py --list-paths

Exemplo de saída:

Pythons instalados encontrados pelo 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

O * indica a versão atualmente ativa para scripts executados usando o pycomando


1

Isso funcionou para mim: C:\Users\Your_user_name\AppData\Local\Programs\Python

Meu atualmente instalado python versioné3.7.0

Espero que isto ajude!


1

Geralmente

'C: \ Usuários \ nome do usuário \ AppData \ Local \ Programas \ Python \ Python-versão'

ou tente usar (em cmd)

onde python


0

se você ainda está preso ou consegue isso

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

basta fazer isso substituir 2 \ por um

C:\Users\akshay\AppData\Local\Programs\Python\Python36

0

Eu instalei 2 e 3 e tive o mesmo problema em encontrar 3. Felizmente, digitar o caminho no caminho do Windows me permitiu encontrar onde eu o havia instalado. O caminho era uma opção quando instalei o Python, que acabei de esquecer. Se você não selecionou definir o caminho ao instalar o Python 3, provavelmente não funcionará - a menos que você atualize manualmente o caminho ao instalá-lo. No meu caso, estava em c: \ Arquivos de Programas \ Python37 \ python.exe


0

Se você usa o anaconda navigatorWindows, também pode ir enviornmentse rolar pelos ambientes, o rootambiente indicará onde está instalado. Pode ajudar se você deseja usar esse ambiente quando precisar conectá-lo a outros aplicativos, nos quais deseja integrar algum código python.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.