将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中处理异常的教程
May 24 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
Apr 27 Python
Python高级用法总结
May 26 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
python3.7 使用pymssql往sqlserver插入数据的方法
Jul 08 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
Apr 08 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python asyncio 协程库的使用
Jan 21 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 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
fgetcvs在linux的问题
2012/01/15 PHP
使用配置类定义Codeigniter全局变量
2014/06/12 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
深入学习python的yield和generator
2016/03/10 Python
利用Python破解斗地主残局详解
2017/06/30 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
wxPython实现带颜色的进度条
2019/11/19 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
职业技术学校毕业生推荐信
2013/12/03 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
2015学校师德师风工作总结
2015/04/22 职场文书
活动宣传稿范文
2015/07/23 职场文书
奖学金主要事迹范文
2015/11/04 职场文书