代码改变世界

Python version 2.7 required, which was not found in the registry

2014-02-13 19:34  youxin  阅读(1054)  评论(0编辑  收藏  举报

在安装pywin32时,提示报错:Python version 2.7 required, which was not found in the registry。在网上搜下了,识别不出注册表,解决办法如下:

新建一个register.py 文件,把一下代码贴进去

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 register.py 

显示:--- Python 2.7 is now registered!  则表示成功