将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批量修改文件后缀示例代码分享
Dec 24 Python
Python实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
解析Python中的变量、引用、拷贝和作用域的问题
Apr 07 Python
python实现从ftp服务器下载文件的方法
Apr 30 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
解决python "No module named pip" 的问题
Oct 13 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
Jul 17 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
详解Python魔法方法之描述符类
May 26 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
PHPlet在Windows下的安装
2006/10/09 PHP
php目录操作实例代码
2014/02/21 PHP
php function用法如何递归及return和echo区别
2014/03/07 PHP
php中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
python递归全排列实现方法
2018/08/18 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
python re的findall和finditer的区别详解
2020/11/15 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
法学专业应届生求职信
2013/10/16 职场文书
大学生的四年学习自我评价
2013/12/13 职场文书
《燕子专列》教学反思
2014/02/21 职场文书
保护环境建议书
2014/03/12 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
外出培训学习心得体会
2016/01/18 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
python如何读取和存储dict()与.json格式文件
2022/06/25 Python