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?

Fang-Pen Lin
fonte
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'
elo80ka
fonte
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

Aekansh Kansal
fonte
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
Amol Manthalkar
fonte
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
codeape
fonte
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.)

gimel
fonte
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))
Guðmundur H
fonte
@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 ...

Rutvik Vijaybhai Bhimani
fonte
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
6

Maneira simples é

1) open CMD
2) type >>where python
BigData-Guru
fonte
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 .

Amit Gupta
fonte
4

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

outro nó
fonte
(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");
}
Peter
fonte
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)

SATYAJIT MAITRA
fonte
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

carlin.scott
fonte
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!

Prashant Gonga
fonte
1

Geralmente

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

ou tente usar (em cmd)

onde python

utkarsh2299
fonte
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
Ashwarya sharma
fonte
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

Douglas Gilliland
fonte
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.

PV8
fonte