将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的Zato发送AMQP消息的教程
Apr 16 Python
Python中防止sql注入的方法详解
Feb 25 Python
Python程序员面试题 你必须提前准备!
Jan 16 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
利用Python写一个爬妹子的爬虫
Jun 08 Python
python单例模式获取IP代理的方法详解
Sep 13 Python
Python中创建二维数组
Oct 17 Python
python+openCV利用摄像头实现人员活动检测
Jun 22 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
Python 求数组局部最大值的实例
Nov 26 Python
pycharm 实现复制一行的快捷键
Jan 15 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来处理多个提交任务
2006/10/09 PHP
php下使用无限生命期Session的方法
2007/03/16 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
PHP目录操作实例总结
2016/09/27 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
HTML中不支持静态Expando的元素的问题
2007/03/08 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
JQuery控制DIV的选取实现方法
2016/09/18 Javascript
echarts3 使用总结(绘制各种图表,地图)
2017/01/05 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
python从ftp下载数据保存实例
2013/11/20 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
wxpython多线程防假死与线程间传递消息实例详解
2019/12/13 Python
Python实现淘宝秒杀功能的示例代码
2021/01/19 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
运动会解说词50字
2014/01/18 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
未婚证明格式
2015/06/15 职场文书
警示教育片观后感
2015/06/17 职场文书
英语读书笔记
2015/07/02 职场文书
信息简报范文
2015/07/21 职场文书
2016年小学生新年寄语
2015/08/18 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python
ICOM R71E和R72E图文对比解说
2022/04/07 无线电