python

超轻量级php框架startmvc

将python安装信息加入注册表的示例

更新时间:2020-08-08 11:12 作者:startmvc
背景重装系统,发现之前装在E盘的python可以直接使用,就只是将python的安装目录加入到环

背景

重装系统,发现之前装在E盘的python可以直接使用,就只是将python的安装目录加入到环境变量中,也一直没有管它,今天跟天软交互的时候发现一直不成功,猜测可能是没有注册表信息。

从网上找的一段代码,直接复制运行即可,留存备查。

代码

py3.5.2


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()

py2.*版本


'''
解决注册问题,pywin32安装存在问题
'''

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()

以上这篇将python安装信息加入注册表的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。