将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 相关文章推荐
使用grappelli为django admin后台添加模板
Nov 18 Python
python 开发的三种运行模式详细介绍
Jan 18 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
Python读写docx文件的方法
May 08 Python
python中的变量如何开辟内存
Jun 26 Python
Python全排列操作实例分析
Jul 24 Python
对python中Json与object转化的方法详解
Dec 31 Python
python add_argument()用法解析
Jan 29 Python
python 基于卡方值分箱算法的实现示例
Jul 17 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
JAVA SpringMVC实现自定义拦截器
Mar 16 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
239军机修复记
2021/03/02 无线电
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
javascript String 的扩展方法集合
2008/06/01 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
浅谈js的异步执行
2016/10/18 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
小程序分享模块超级详解(推荐)
2019/04/10 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
Python如何实现的二分查找算法
2020/05/27 Python
外包公司软件测试工程师
2014/11/01 面试题
美术专业个人自我评价
2014/01/18 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
校运会加油稿大全
2015/07/22 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
Python进程间的通信之语法学习
2022/04/11 Python