After installing 64 bit Windows 7 at work, I got a problem of installing many python utilities that search for installed python locations is windows registry.
distutils (setuptools-0.6c11.win32-py2.6.exe) still could not find 64 bit python installation, as well as
develer's Unofficial MinGW GCC binaries for Windows (I still do not have a solution for that one :( ).
Actually, what helped me with
disttools, was a http://firstname.lastname@example.org/msg10512.html group thread. The currently available 64 bit python installation is registering python in a new location in windows registry. So one have to use a modified script for registering python the old way:
# # script to register Python 2.0 or later for use with win32all # and other extensions that require Python registry settings # # written by Joakim Loew for Secret Labs AB / PythonWare # # source: # http://www.pythonware.com/products/works/articles/regpy20.htm # # modified by Valentine Gogichashvili as described in http://email@example.com/msg10512.html import sys from _winreg import * # tweak as necessary version = sys.version[:3] installpath = sys.prefix regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version) installkey = "InstallPath" pythonkey = "PythonPath" pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % ( installpath, installpath, installpath ) def RegisterPy(): try: reg = OpenKey(HKEY_CURRENT_USER, regpath) except EnvironmentError as e: try: reg = CreateKey(HKEY_CURRENT_USER, regpath) SetValue(reg, installkey, REG_SZ, installpath) SetValue(reg, pythonkey, REG_SZ, pythonpath) CloseKey(reg) except: print "*** Unable to register!" return print "--- Python", version, "is now registered!" return if (QueryValue(reg, installkey) == installpath and QueryValue(reg, pythonkey) == pythonpath): CloseKey(reg) print "=== Python", version, "is already registered!" return CloseKey(reg) print "*** Unable to register!" print "*** You probably have another Python installation!" if __name__ == "__main__": RegisterPy()
or just inject the following REG file into your registry if you are using python 2.6 installed in
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Python] [HKEY_CURRENT_USER\Software\Python\Pythoncore] [HKEY_CURRENT_USER\Software\Python\Pythoncore\2.6] [HKEY_CURRENT_USER\Software\Python\Pythoncore\2.6\InstallPath] @="C:\\Python26" [HKEY_CURRENT_USER\Software\Python\Pythoncore\2.6\PythonPath] @="C:\\Python26;C:\\Python26\\Lib\\;C:\\Python26\\DLLs\\"