Jak mogę sprawdzić, gdzie jest zainstalowany Python w systemie Windows?

169

Chcę poznać moją ścieżkę instalacji Pythona w systemie Windows. Na przykład:

C:\Python25

Jak mogę sprawdzić, gdzie jest zainstalowany Python?

Fang-Pen Lin
źródło
Powinieneś podać więcej informacji. Wiesz, że Python jest zainstalowany, ale czy możesz go uruchomić, czy nie? W moim przypadku nie zainstalowałem go; różne produkty mogły go zainstalować i chcę się dowiedzieć, czy istnieje gdzieś w systemie plików. Czy interpreter miałby nazwę python.exe? Nie mam pojęcia.
David Spector

Odpowiedzi:

338

W swoim interpreterze Pythona wpisz następujące polecenia:

>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
'C:\\Python25'
elo80ka
źródło
A co, jeśli jesteś w virtualenv? Wtedy to nie zadziała.
user60561
1
@ user60561 Powinien dać ci ścieżkę do pliku wykonywalnego Pythona Virtualenv. W takim przypadku nie znam sposobu na uzyskanie Pythona systemu operacyjnego, ale byłbym zainteresowany, dlaczego byś tego potrzebował, gdybyś był uruchamiany z poziomu Virtualenv?
elo80ka
Mój skrypt tworzy virtualenv, więc używa do tego systemowego języka Python. Ale pomyślałem, że może to nie jest konieczne… Sprawdzę to w poniedziałek, dziękuję!
user60561
Błąd: „C: \ WINDOWS \ system32> import os 'import' nie jest rozpoznawany jako polecenie wewnętrzne lub zewnętrzne, program operacyjny lub plik wsadowy.”
David Spector
@David Spector: Mój błąd. Powinienem był zauważyć, że musisz wpisywać te polecenia w interprecie Pythona, zaktualizuję odpowiedź :-)
elo80ka
63

Jeśli masz Pythona w zmiennej środowiskowej, możesz użyć następującego polecenia w cmd:

>>> gdzie python

lub dla środowiska unixowego

>>> który python

obraz wiersza poleceń

Aekansh Kansal
źródło
Ta odpowiedź jest lepsza, ponieważ nie obejmuje tworzenia i wykonywania skryptu, a jest po prostu znacznie łatwiejsza. +1
applemonkey496
54

To byłby jeden z tych

  • C: \ Python36
  • C: \ Users \ (Twój zalogowany użytkownik) \ AppData \ Local \ Programs \ Python \ Python36
Amol Manthalkar
źródło
2
moja ścieżka Pythona 3.6 na win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
Lei Yang
6
Ścieżkę Pythona można dowolnie dostosowywać podczas instalacji. Miałem kilka maszyn, które nawet nie miały napędu ac: \. Ponadto lokalne dane aplikacji nie muszą znajdować się pod C:\Users.
Matteo Italia
49

Jeśli chcesz poznać ścieżkę instalacji w systemie Windows bez uruchamiania interpretera Pythona, zajrzyj do rejestru systemu Windows.

Każda zainstalowana wersja języka Python będzie miała klucz rejestru w:

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

W 64-bitowym systemie Windows będzie pod Wow6432Nodekluczem:

  • HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\versionnumber\InstallPath
codeape
źródło
wydaje się to być fałszywe w
systemie
Gdzie znajdują się informacje w systemie Windows 7? Jeśli masz pod ręką komputer z systemem Windows 7, czy możesz przeprowadzić wyszukiwanie w rejestrze dla języków Python i PythonCore? I zobacz, czy gdzieś znajdziesz wartość InstallPath.
Codeape
7
W 64-bitowych wersjach systemu Windows (których prawdopodobnie używasz) będzie znajdował się pod kluczem Wow6432Node, IE HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ versionnumber \ InstallPath
piksel bitworks
Zaktualizuj swoją odpowiedź o komentarz „piksel bitworks”. U mnie to zadziałało.
dinesh ygv
1
To fajny sposób, ale żeby z niego skorzystać, trzeba znać aktualną wersję Pythona. Nadal szukam dobrego sposobu na wykrycie ścieżki Pythona do użycia z instalatorem nsis.
PerryWerneck
13

Podczas instalacji systemu Windows otrzymuję następujące wyniki:

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

(Możesz również poszukać sys.pathrozsądnych lokalizacji).

gimel
źródło
ale jak możemy zrobić to samo używając pliku wsadowego?
Patrick,
@Patrick Myślę, że python -c "import sys; print(sys.executable)"zadziała
wjandrea
8

W syspakiecie możesz znaleźć wiele przydatnych informacji o Twojej instalacji:

import sys
print sys.executable
print sys.exec_prefix

Nie jestem pewien, co to da w twoim systemie Windows, ale na moim Macu executablewskazuje na plik binarny Pythona i exec_prefixna katalog główny instalacji.

Możesz również spróbować tego w celu sprawdzenia swojego sysmodułu:

import sys
for k,v in sys.__dict__.items():
    if not callable(v):
        print "%20s: %s" % (k,repr(v))
Guðmundur H.
źródło
@GuoH czy możemy zrobić to samo używając pliku wsadowego?
Patrick,
Możesz zrobić coś takiegopython -c "import sys; print sys.executable"
Guðmundur H
7

Jeśli chcesz ścieżkę po pomyślnej instalacji, najpierw otwórz CMD i wpisz python lub python -i

Otworzy się dla Ciebie interaktywna powłoka, a następnie wpisz

import sys

sys.executable

Wciśnij Enter, a otrzymasz ścieżkę, w której jest zainstalowany twój Python ...

Rutvik Vijaybhai Bhimani
źródło
Problem z tym rozwiązaniem polegał na tym, że korzystałem z Pythona 2.7 i chciałem dokonać aktualizacji do 3.6. Zainstalowałem 3.6, ale kiedy wpisuję python w wierszu poleceń, nadal korzystałem ze starego 2.7.
tzg
6

Prosty sposób

1) open CMD
2) type >>where python
BigData-Guru
źródło
5

Możesz wyszukać „zmienną środowiskową dla swojego konta”. Jeśli dodałeś Pythona do ścieżki, będzie on wyświetlany jako „ścieżka” na Twoim koncie zmiennych środowiskowych.

ale prawie zawsze znajdziesz go w „ C: \ Users \% User_name% \ AppData \ Local \ Programs \ Python \ Python_version

folder „ AppData ” może być ukryty, powinien być widoczny w sekcji widoku paska narzędzi .

Amit Gupta
źródło
4

Aby dowiedzieć się, gdzie jest zainstalowany Python, możesz uruchomić where pythonplik cmd.exe.

inny węzeł
źródło
(Wydaje się, że ten post nie zawiera odpowiedzi na pytanie. Zmień odpowiedź lub po prostu opublikuj ją jako komentarz do pytania).
sɐunıɔ ןɐ qɐp
2
@ sɐunıɔ ןɐ qɐp To właściwie jest odpowiedź i może nawet być poprawna. Nie jestem zbyt zaznajomiony z systemem Windows, ale w rzeczywistości wydaje się, że istnieje wherepolecenie, które ma być podobne do tego whichw Uniksie.
anothernode
@anothernode: jakość odpowiedzi jest bardzo zła. Jeśli rozumiesz, co autor próbuje powiedzieć, możesz to edytować i naprawić.
sɐunıɔ ןɐ qɐp
1
jakość odpowiedzi nie jest zła, jakość pytania jest. Mogę potwierdzić, że where pythondziała na cmd.exe
Kay
3

Jeśli ktoś musi to zrobić w C #, używam następującego kodu:

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");
}
Piotr
źródło
1
Czy HKCU i HKLM nie istniałyby dla większości użytkowników? Wydaje się, że brakuje w tym globalnie zainstalowanych instancji języka Python.
jtbr
Tak, wygląda na to, że stworzyłem tam błąd.
Peter,
2

Idź do C: \ Users \ USER \ AppData \ Local \ Programs \ Python \ Python36, jeśli go tam nie ma, otwórz konsolę przez Windows + ^ R Następnie wpisz cmd i naciśnij enter typ python, jeśli jest zainstalowany w twoim lokalnym pliku, pokaże ci jego wersję stamtąd wpisz następujący import os import sys os.path.dirname (sys.executable)

SATYAJIT MAITRA
źródło
2

Jeśli masz pyzainstalowane polecenie, co prawdopodobnie robisz, po prostu użyj --list-pathsargumentu polecenia:

py --list-paths

Przykładowe dane wyjściowe:

Zainstalowane Pythony znalezione przez py Launcher dla Windows
-3.8-32 C: \ Users \ cscott \ AppData \ Local \ Programs \ Python \ Python38-32 \ python.exe *
-2.7-64 C: \ Python27 \ python.exe

Znak * oznacza aktualnie aktywną wersję skryptów wykonywanych za pomocą pypolecenia.

carlin.scott
źródło
1

To zadziałało dla mnie: C:\Users\Your_user_name\AppData\Local\Programs\Python

Mój aktualnie zainstalowany python versionto3.7.0

Mam nadzieję że to pomoże!

Prashant Gonga
źródło
1

To ogólnie

„C: \ Users \ nazwa-użytkownika \ AppData \ Local \ Programs \ Python \ Python-version”

lub spróbuj użyć (w cmd)

gdzie python

utkarsh2299
źródło
0

jeśli nadal utkniesz lub dostaniesz to

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

po prostu zrób to, zamień 2 \ na jeden

C:\Users\akshay\AppData\Local\Programs\Python\Python36
Ashwarya sharma
źródło
0

Zainstalowałem 2 i 3 i miałem ten sam problem ze znalezieniem 3. Na szczęście wpisanie ścieżki w ścieżce Windows pozwoliło mi znaleźć miejsce, w którym ją zainstalowałem. Ścieżka była opcją, kiedy instalowałem Pythona, o którym właśnie zapomniałem. Jeśli nie wybrałeś ustawienia ścieżki podczas instalowania Pythona 3, to prawdopodobnie nie zadziała - chyba że ręcznie zaktualizujesz ścieżkę podczas instalacji. W moim przypadku był to c: \ Program Files \ Python37 \ python.exe

Douglas Gilliland
źródło
0

Jeśli używasz anaconda navigatorw enviornmentssystemie Windows, możesz też przejść i przewijać środowiska, rootśrodowisko wskaże, gdzie jest zainstalowane. Może to pomóc, jeśli chcesz użyć tego środowiska, gdy chcesz połączyć to z innymi aplikacjami, w których chcesz zintegrować kod Pythona.

PV8
źródło