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?


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'

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ń


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

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

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).


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))

@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 ...


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


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 .


4

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


(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");
}

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)


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.


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!


1

To ogólnie

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

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

gdzie python


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

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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.