将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提取html文件中的特定数据的实现代码
Mar 24 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
关于sys.stdout和print的区别详解
Dec 05 Python
PyCharm 无法 import pandas 程序卡住的解决方式
Mar 09 Python
python实现拼接图片
Mar 23 Python
使用Django搭建网站实现商品分页功能
May 22 Python
Python 批量下载阴阳师网站壁纸
May 19 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
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
ThinkPHP5&5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
简单谈谈Python的pycurl模块
2018/04/07 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
美国班级戒指、帽子和礼服、毕业产品、年鉴:Balfour
2018/11/01 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
网站开发实习生的自我评价
2013/12/11 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
纪律教育月活动总结
2014/08/26 职场文书
违反工作规定检讨书范文
2014/12/14 职场文书
稽核岗位职责
2015/02/10 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang