windows安装pywin32

下载旧版

https://sourceforge.net/projects/pywin32/files/pywin32/

下载新版

https://github.com/mhammond/pywin32/releases

 

源码安装出现下面报错,暂不推荐

RuntimeError: Can't find the Windows SDK

 

最简单的方法就是下载二进制文件

https://github.com/mhammond/pywin32/releases

 

 

查看python在注册表的路径

[HKEY_CURRENT_USER\Software\Python\Pythoncore\3.6\InstallPath]
@="C:\\Python26"
  
[HKEY_CURRENT_USER\Software\Python\Pythoncore\3.6\PythonPath]
@="C:\\Python26;C:\\Python26\\Lib\\;C:\\Python26\\DLLs\\"

 

安装pywin32出现Python Version 3.6 required which was not found in the registry,表示注册表里没有python3.6的安装路径,出现这个问题是因为我是直接从另一台电脑拖过来的,不是正规安装

在注册表中写入python3.6的安装路径

 

解决方法

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() 

然后再运行pywin32安装文件即可

posted @ 2018-05-30 11:23  Operater  阅读(2610)  评论(0编辑  收藏  举报