将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统计文件行数示例分享
Feb 21 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
Python中的条件判断语句与循环语句用法小结
Mar 21 Python
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
Jun 18 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
Feb 27 Python
python实现字符串和数字拼接
Mar 02 Python
Python列表倒序输出及其效率详解
Mar 04 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代码
2013/03/24 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
用p5.js制作烟花特效的示例代码
2018/03/21 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
2019/09/18 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
如何用OpenCV -python3实现视频物体追踪
2019/12/04 Python
opencv python图像梯度实例详解
2020/02/04 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
高二化学教学反思
2014/01/30 职场文书
创新型城市实施方案
2014/03/06 职场文书
2015最新民情日记范文
2015/06/26 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书