Wie finde ich heraus, wo Python unter Windows installiert ist?


169

Ich möchte meinen Python-Installationspfad unter Windows herausfinden. Beispielsweise:

C:\Python25

Wie finde ich heraus, wo Python installiert ist?


Sie sollten weitere Informationen geben. Sie wissen, dass Python installiert ist, aber können Sie Python ausführen oder nicht? In meinem Fall habe ich es nicht installiert. Möglicherweise haben verschiedene Produkte es installiert, und ich möchte herausfinden, ob es irgendwo im Dateisystem vorhanden ist. Würde der Interpreter python.exe heißen? Ich habe keine Ahnung.
David Spector

Antworten:


337

Geben Sie in Ihrem Python-Interpreter die folgenden Befehle ein:

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

Was ist, wenn Sie sich in einer virtuellen Umgebung befinden? Das wird dann nicht funktionieren.
user60561

1
@ user60561 Es sollte Ihnen den Pfad zur ausführbaren Python-Datei von Virtualenv geben. In diesem Fall kenne ich keinen Weg, um an das Betriebssystem Python zu gelangen, aber ich würde gerne wissen, warum Sie das benötigen, wenn Sie in einem Virtualenv ausgeführt werden.
elo80ka

Mein Skript erstellt eine virtuelle Umgebung und verwendet dazu die Systempython. Du hast mich zum Nachdenken gebracht, vielleicht ist das nicht nötig ... Ich werde es am Montag überprüfen, danke!
user60561

Fehler: "C: \ WINDOWS \ system32> import os 'import' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt."
David Spector

@ David Spector: Mein schlechtes. Ich hätte beachten müssen, dass Sie diese Befehle in den Python-Interpreter eingeben müssen, ich werde die Antwort aktualisieren :-)
elo80ka

63

Wenn Ihre Umgebungsvariable Python enthält, können Sie den folgenden Befehl in cmd verwenden:

>>> wo Python

oder für Unix-Umgebung

>>> welche Python

Befehlszeilenbild


Diese Antwort ist besser, da kein Skript erstellt und ausgeführt werden muss und es einfach viel einfacher ist. +1
applemonkey496

54

Es wäre eines von beiden

  • C: \ Python36
  • C: \ Benutzer \ (Ihr angemeldeter Benutzer) \ AppData \ Local \ Programme \ Python \ Python36

2
Mein Weg von Python 3.6 auf Win10:C:\Users\YANG.LEI\AppData\Local\Programs\Python\Python36-32
Lei Yang

6
Der Python-Pfad kann während der Installation frei angepasst werden. Ich hatte mehrere Maschinen, die nicht einmal ein AC: \ -Laufwerk hatten. Außerdem sind die lokalen Anwendungsdaten nicht unbedingt unter C:\Users.
Matteo Italia

49

Wenn Sie den unter Windows installierten Pfad kennen müssen, ohne den Python-Interpreter zu starten, schauen Sie in die Windows-Registrierung.

Jede installierte Python-Version verfügt über einen Registrierungsschlüssel in:

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

In 64-Bit-Windows befindet es sich unter dem Wow6432NodeSchlüssel:

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

Dies scheint unter Windows 7 falsch zu sein, zumindest für Python 2.7
Sharkin

Wo befinden sich die Informationen unter Windows 7? Wenn Sie einen Windows 7-Computer zur Hand haben, können Sie eine Registrierungssuche nach Python und PythonCore durchführen? Überprüfen Sie, ob Sie irgendwo einen InstallPath-Wert finden.
Codeape

7
In 64-Bit-Versionen von Windows (die Sie wahrscheinlich verwenden) befindet es sich unter dem Schlüssel Wow6432Node, IE HKLM \ SOFTWARE \ Wow6432Node \ Python \ PythonCore \ Versionsnummer \ InstallPath
piksel bitworks

Bitte aktualisieren Sie Ihre Antwort mit dem Kommentar von 'piksel bitworks'. Es hat bei mir funktioniert.
Dinesh Ygv

1
Es ist ein guter Weg, aber um es zu benutzen, muss man die aktuelle Python-Version kennen. Ich bin immer noch auf der Suche nach einer guten Möglichkeit, den Python-Pfad für die Verwendung mit dem nsis-Installationsprogramm zu ermitteln.
PerryWerneck

13

Bei meiner Windows-Installation erhalte ich folgende Ergebnisse:

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

(Sie können auch nach sys.pathvernünftigen Standorten suchen .)


Aber wie können wir dasselbe mit Batch-Dateien machen?
Patrick

@ Patrick Ich denke, python -c "import sys; print(sys.executable)"wird funktionieren
wjandrea

8

Im sysPaket finden Sie viele nützliche Informationen zu Ihrer Installation:

import sys
print sys.executable
print sys.exec_prefix

Ich bin nicht sicher, was dies auf Ihrem Windows-System bedeuten wird, aber auf meinem Mac executableverweist es auf die Python-Binärdatei und exec_prefixauf das Installationsstammverzeichnis.

Sie können dies auch versuchen, um Ihr sysModul zu überprüfen:

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

@GuoH können wir das gleiche mit Batch-Datei machen?
Patrick

Sie könnten so etwas tunpython -c "import sys; print sys.executable"
Guðmundur H

7

Wenn Sie den Pfad nach erfolgreicher Installation möchten, öffnen Sie zuerst Ihre CMD und geben Sie python oder python -i ein

Es wird eine interaktive Shell für Sie geöffnet und anschließend eingegeben

sys importieren

sys.executable

Drücken Sie die Eingabetaste und Sie erhalten den Pfad, in dem Ihre Python installiert ist ...


Das Problem, das ich mit dieser Lösung hatte, war, dass ich Python 2.7 ausführte und auf 3.6 aktualisieren wollte. Ich habe 3.6 installiert, aber als ich Python in die Befehlszeile eingab, lief ich immer noch von der alten Version 2.7.
Tzg


5

Sie können nach der "Umgebungsvariablen für Ihr Konto" suchen. Wenn Sie Python in den Pfad eingefügt haben, wird es in Ihrem Umgebungsvariablenkonto als "Pfad" angezeigt.

Aber fast immer finden Sie es unter " C: \ Benutzer \% Benutzername% \ AppData \ Local \ Programme \ Python \ Python_version ".

Der Ordner ' AppData ' ist möglicherweise ausgeblendet. Machen Sie ihn im Ansichtsbereich der Symbolleiste sichtbar .


4

Um zu wissen, wo Python installiert ist, können Sie es where pythonin Ihrer cmd.exe ausführen .


(Dieser Beitrag scheint keine Antwort auf die Frage zu geben. Bitte bearbeiten Sie entweder Ihre Antwort oder posten Sie sie einfach als Kommentar zur Frage.)
sɐunıɔ ןɐ qɐp

2
@ sɐunıɔ ןɐ qɐp Es ist tatsächlich eine Antwort und es könnte sogar richtig sein. Ich bin mit Windows nicht sehr vertraut, aber es scheint tatsächlich einen whereBefehl zu geben, der whichunter Unix ähnlich sein soll.
Anothernode

@anothernode: Die Qualität der Antwort ist sehr schlecht. Wenn Sie verstehen, was der Autor zu sagen versucht, können Sie es bearbeiten und korrigieren.
sɐunıɔ ןɐ qɐp

1
Die Qualität der Antwort ist nicht schlecht, die Qualität der Frage ist. Ich kann where pythonArbeiten auf cmd.exe bestätigen
Kay

3

Wenn jemand dies in C # tun muss, verwende ich den folgenden Code:

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
Würden HKCU und HKLM nicht für die meisten Benutzer existieren? Dies scheint global installierte Python-Instanzen zu vermissen.
jtbr

Ja, ich habe dort einen Fehler erstellt.
Peter

2

Gehen Sie zu C: \ Benutzer \ USER \ AppData \ Local \ Programme \ Python \ Python36. Wenn es nicht vorhanden ist, öffnen Sie die Konsole über Windows + ^ R. Geben Sie cmd ein und drücken Sie die Eingabetaste Python, wenn es in Ihrer lokalen Datei installiert ist. Die Version wird angezeigt Geben Sie von dort den folgenden Import ein. os import sys os.path.dirname (sys.executable)


2

Wenn Sie den pyBefehl installiert haben, was Sie wahrscheinlich tun, verwenden Sie einfach das --list-pathsArgument für den Befehl:

py --list-paths

Beispielausgabe:

Installierte Pythons, gefunden von py Launcher für Windows
-3.8-32 C: \ Benutzer \ cscott \ AppData \ Local \ Programme \ Python \ Python38-32 \ python.exe *
-2.7-64 C: \ Python27 \ python.exe

Das * gibt die aktuell aktive Version für Skripte an, die mit dem pyBefehl ausgeführt werden .


1

Das hat bei mir funktioniert: C:\Users\Your_user_name\AppData\Local\Programs\Python

Mein aktuell installierter python versionist3.7.0

Hoffe das hilft!


1

Es ist allgemein

'C: \ Benutzer \ Benutzername \ AppData \ Local \ Programme \ Python \ Python-Version'

oder versuchen Sie es mit (in cmd)

wo Python


0

wenn du noch feststeckst oder das bekommst

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

Ersetzen Sie einfach 2 \ durch eins

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

0

Ich habe 2 und 3 installiert und hatte das gleiche Problem beim Finden von 3. Glücklicherweise konnte ich durch Eingabe des Pfads am Windows-Pfad herausfinden, wo ich ihn installiert hatte. Der Pfad war eine Option, als ich Python installiert habe, die ich gerade vergessen habe. Wenn Sie bei der Installation von Python 3 nicht festgelegt haben, dass der Pfad festgelegt werden soll, funktioniert dies wahrscheinlich nicht - es sei denn, Sie haben den Pfad bei der Installation manuell aktualisiert. In meinem Fall war es unter c: \ Programme \ Python37 \ python.exe


0

Wenn Sie anaconda navigatorWindows verwenden, können Sie auch enviornmentsüber die Umgebung scrollen. Die rootUmgebung zeigt an, wo sie installiert ist. Es kann hilfreich sein, wenn Sie diese Umgebung verwenden möchten, wenn Sie sie mit anderen Anwendungen verbinden müssen, in die Sie Python-Code integrieren möchten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.