将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标准库之随机数 (math包、random包)介绍
Nov 25 Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
pandas如何处理缺失值
Jul 31 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
python自动识别文本编码格式代码
Dec 26 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
基于python实现百度语音识别和图灵对话
Nov 02 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实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
2018/04/20 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
jQuery validate验证插件使用详解
2016/05/11 Javascript
D3.js实现饼状图的方法详解
2016/09/21 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
webpack优化之代码分割与公共代码提取详解
2019/11/22 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
python实现堆栈与队列的方法
2015/01/15 Python
用Python创建声明性迷你语言的教程
2015/04/13 Python
Python中的lstrip()方法使用简介
2015/05/19 Python
python 基础教程之Map使用方法
2017/01/17 Python
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
Pytorch中的VGG实现修改最后一层FC
2020/01/15 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
css3的transition属性详解
2014/12/15 HTML / CSS
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
部队学习十八大感言
2014/01/11 职场文书
英语故事演讲稿
2014/04/29 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
财政局长个人总结
2015/03/04 职场文书
民事答辩状格式范文
2015/05/21 职场文书
机械原理课程设计心得体会
2016/01/15 职场文书
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python