zoukankan      html  css  js  c++  java
  • 给python解释器本身添加注册表

    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():
        print "begin RegisterPy "
        try:
            print "open key : %s" % regpath
            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 "*** EXCEPT: 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 "*** ERROR:Unable to register!"
        print "*** REASON:You probably have another Python installation!"
    
    
    def UnRegisterPy():
        # print "begin UnRegisterPy "
        try:
            print "open HKEY_CURRENT_USER key=%s" % (regpath)
            reg = OpenKey(HKEY_CURRENT_USER, regpath)
            # reg = OpenKey(HKEY_LOCAL_MACHINE, regpath)
        except EnvironmentError:
            print "*** Python not registered?!"
            return
        try:
            DeleteKey(reg, installkey)
            DeleteKey(reg, pythonkey)
            DeleteKey(HKEY_LOCAL_MACHINE, regpath)
        except:
            print "*** Unable to un-register!"
        else:
            print "--- Python", version, "is no longer registered!"
    
    
    if __name__ == "__main__":
        RegisterPy()
  • 相关阅读:
    Web 服务编程,REST 与 SOAP
    ODI调用WebService---->OdiInvokeWebService
    Using Custom Java code in ODI
    ODI---->Variables
    Oracle---->Join
    SQLserver中用convert函数转换日期格式
    ORA-00942 表或视图不存在
    GoldenGate 12c + Oracle 12c Multitenant Container databases
    goldengate 12c 针对oracle 12c配置的主要变化
    GoldenGate 配置extract,replicat进程自启动
  • 原文地址:https://www.cnblogs.com/JMLiu/p/6493009.html
Copyright © 2011-2022 走看看