将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 相关文章推荐
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
Nov 15 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
关于Tensorflow使用CPU报错的解决方式
Feb 05 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
python 元组的使用方法
Jun 09 Python
python如何从键盘获取输入实例
Jun 18 Python
Python高并发解决方案实现过程详解
Jul 31 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
使用python求解迷宫问题的三种实现方法
Mar 17 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
PHP中的表达式简述
2016/05/29 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
function foo的原型与prototype属性解惑
2010/11/19 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
js闭包实现按秒计数
2015/04/23 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
解决vue-cli输入命令vue ui没效果的问题
2020/11/17 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
Windows下安装python2和python3多版本教程
2017/03/30 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
Python中的枚举类型示例介绍
2019/01/09 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
python psutil监控进程实例
2019/12/17 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
分布式数据库需要考虑哪些问题
2013/12/08 面试题
通信工程求职信
2014/07/16 职场文书
2014年销售部工作总结
2014/12/01 职场文书
初中家长评语和期望
2014/12/26 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
OpenFeign实现远程调用
2022/08/14 Java/Android