将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进行TCP网络编程的教程
Apr 29 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
python+selenium识别验证码并登录的示例代码
Dec 21 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
python实现nao机器人手臂动作控制
Apr 29 Python
python可视化爬虫界面之天气查询
Jul 03 Python
使用python实现微信小程序自动签到功能
Apr 27 Python
Python Switch Case三种实现方法代码实例
Jun 18 Python
django models里数据表插入数据id自增操作
Jul 15 Python
python处理写入数据代码讲解
Oct 22 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 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
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
2010/12/29 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
php框架知识点的整理和补充
2021/03/01 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
2016/08/29 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
Python实现将多个空格换为一个空格.md的方法
2018/12/20 Python
关于python多重赋值的小问题
2019/04/17 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
医药专业推荐信
2013/11/15 职场文书
心理健康教育心得体会
2013/12/29 职场文书
单位提档介绍信
2014/01/17 职场文书
高级编程求职信模板
2014/02/16 职场文书
环境保护建议书
2014/08/26 职场文书
交通事故案件代理词
2015/05/23 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技