-
-
Save zigarn/da4df6af6292a50898f3 to your computer and use it in GitHub Desktop.
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.6 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 | |
# modified by Alexandre Garnier to also work for Python 3 | |
from __future__ import print_function | |
import sys | |
try: | |
from _winreg import * | |
except ImportError: | |
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