将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 相关文章推荐
将TensorFlow的模型网络导出为单个文件的方法
Apr 23 Python
python使用tornado实现登录和登出
Jul 28 Python
在PyCharm下打包*.py程序成.exe的方法
Nov 29 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
利用Python的sympy包求解一元三次方程示例
Nov 22 Python
python装饰器相当于函数的调用方式
Dec 27 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
Python内置函数locals和globals对比
Apr 28 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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来检测proxy
2006/10/09 PHP
PHP个人网站架设连环讲(一)
2006/10/09 PHP
?生?D片??C字串
2006/12/06 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
解决vue build打包之后首页白屏的问题
2018/03/06 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
python 函数中的内置函数及用法详解
2019/07/02 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
python 离散点图画法的实现
2022/04/01 Python
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js