下载旧版
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安装文件即可