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


Posted in Python onNovember 20, 2019

背景

重装系统,发现之前装在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安装信息加入注册表的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现数通设备端口监控示例
Apr 02 Python
python中使用pyhook实现键盘监控的例子
Jul 18 Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
python中global与nonlocal比较
Nov 21 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
Python使用Pandas库实现MySQL数据库的读写
Jul 06 Python
Python class的继承方法代码实例
Feb 14 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
Numpy中的数组搜索中np.where方法详细介绍
Jan 08 Python
如何使用Python脚本实现文件拷贝
Nov 20 #Python
Python笔记之代理模式
Nov 20 #Python
Python Tkinter模块 GUI 可视化实例
Nov 20 #Python
Python笔记之观察者模式
Nov 20 #Python
django 实现celery动态设置周期任务执行时间
Nov 19 #Python
python调用接口的4种方式代码实例
Nov 19 #Python
Python Django2.0集成Celery4.1教程
Nov 19 #Python
You might like
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
php计算指定目录下文件占用空间的方法
2015/03/13 PHP
Laravel登录失败次数限制的实现方法
2020/08/26 PHP
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
nodejs结合Socket.IO实现的即时通讯功能详解
2018/01/12 NodeJs
用Vue写一个分页器的示例代码
2018/04/22 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
带你了解python装饰器
2017/06/15 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
打架检讨书500字
2014/01/29 职场文书
搞笑创意广告语
2014/03/17 职场文书
机电一体化专业求职信
2014/07/22 职场文书
2014年度考核工作总结
2014/12/24 职场文书
统计员岗位职责范本
2015/04/14 职场文书
用python实现监控视频人数统计
2021/05/21 Python
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
MYSQL 表的全面总结
2021/11/11 MySQL