Python Installation abfragen (Win) Hier ein kleines Skript welches mit _winreg herrausfindet welche Python Version, in welchem Pfad installiert ist:

   1 #!/usr/bin/env python
   2 # -*- coding: iso-8859-1 -*-
   3 
   4 import _winreg as winreg
   5 
   6 
   7 #----------------------------------------------------------------------
   8 def get_python_versions():
   9     """
  10     Gibt alle installierten Python-Versionen unter Windows zurück.
  11 
  12     Dazu werden die Unterschlüssel des Registry-Schlüssels
  13     "HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\"
  14     ausgelesen.
  15     """
  16 
  17     # Registry-Key öffnen
  18     try:
  19         key = winreg.OpenKey(
  20             winreg.HKEY_LOCAL_MACHINE,
  21             "SOFTWARE\\Python\\PythonCore"
  22         )
  23     except WindowsError:
  24         return None
  25 
  26     try:
  27         # Unterschlüssel durchlaufen
  28         index = 0
  29         versions = []
  30         while True:
  31             try:
  32                 keyvalue = winreg.EnumKey(key, index)
  33                 versions.append(keyvalue)
  34                 index += 1
  35             except WindowsError:
  36                 break
  37     finally:
  38         # Key schließen
  39         winreg.CloseKey(key)
  40 
  41     # Zurück geben
  42     return versions
  43 
  44 
  45 def get_python_path(version = "2.4"):
  46     """
  47     Gibt den Pfad zur übergebenen Pythonversion zurück.
  48 
  49     Dazu wird der Registry-Pfad
  50     "HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\<version>\InstallPath\"
  51     ausgelesen.
  52     """
  53 
  54     # Registry-Key öffnen
  55     try:
  56         key = winreg.OpenKey(
  57             winreg.HKEY_LOCAL_MACHINE,
  58             "SOFTWARE\\Python\\PythonCore\\%s\\InstallPath" % version
  59         )
  60     except WindowsError:
  61         return None
  62 
  63     try:
  64         try:
  65             # Pfad zur Python-Installation auslesen
  66             path = winreg.QueryValueEx(key, "")[0]
  67         except WindowsError:
  68             path = ""
  69     finally:
  70         # Schlüssel schließen
  71         winreg.CloseKey(key)
  72 
  73     # Zurück geben
  74     return path
  75 
  76 
  77 #----------------------------------------------------------------------
  78 if __name__ == "__main__":
  79     versions = get_python_versions()
  80     for version in versions:
  81         print "Python", version, "->", get_python_path(version)

Code ist aus dem Python-Forum, geschrieben von Gerold. Eine wxPython-GUI existiert dafür auch, siehe Forumsthread.

Tags: Codesnippets | Tipps

Python Installation abfragen (Win) (zuletzt geändert am 2009-06-17 16:14:16 durch anonym)