Created
April 7, 2016 08:15
-
-
Save buptxge/c3e0728e739f7a54f55e809a264082bc to your computer and use it in GitHub Desktop.
Windows python register script.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# 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://www.mail-archive.com/[email protected]/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() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment