所有
我已经安装了包:pywinauto成功使用“pip install pywinauto”,但它总是失败,为什么? 我是这样做的:
pip install pywinauto
然后在windows cmd env下,运行python: 然后: 导入pywinauto 我收到以下错误: ....
>>> import pywinauto
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\pywinauto\__init__.py", line 40, in <module>
from . import findwindows
File "C:\Python27\lib\site-packages\pywinauto\findwindows.py", line 42, in <module>
from . import controls
File "C:\Python27\lib\site-packages\pywinauto\controls\__init__.py", line 36,in <module>
from . import uiawrapper # register "uia" back-end (at the end of uiawrapper module)
File "C:\Python27\lib\site-packages\pywinauto\controls\uiawrapper.py", line 44, in <module>
from ..uia_defines import IUIA
File "C:\Python27\lib\site-packages\pywinauto\uia_defines.py", line 175, in <module>
pattern_ids = _build_pattern_ids_dic()
File "C:\Python27\lib\site-packages\pywinauto\uia_defines.py", line 163, in _build_pattern_ids_dic
if hasattr(IUIA().ui_automation_client, cls_name):
File "C:\Python27\lib\site-packages\pywinauto\uia_defines.py", line 50, in __call__
cls._instances[cls] = super(_Singleton, cls).__call__(*args, **kwargs)
File "C:\Python27\lib\site-packages\pywinauto\uia_defines.py", line 60, in __init__
self.UIA_dll = comtypes.client.GetModule('UIAutomationCore.dll')
File "C:\Python27\lib\site-packages\comtypes\client\_generate.py", line 97, in GetModule
tlib = comtypes.typeinfo.LoadTypeLibEx(tlib)
File "C:\Python27\lib\site-packages\comtypes\typeinfo.py", line 485, in LoadTypeLibEx
_oleaut32.LoadTypeLibEx(c_wchar_p(szFile), regkind, byref(ptl))
File "_ctypes/callproc.c", line 950, in GetResult
WindowsError: [Error -2147312566] Error loading type library/DLL
答案 0 :(得分:2)
看起来你正在使用像Windows XP这样的旧操作系统Windows版本。 MS UI自动化包含在Windows Vista及更高版本中。但是,即使在Windows XP上,您也可以安装.NET Framework 3.0+以获得UIAutomationCore.dll
。如果您根本不需要MS UI自动化技术,只需运行pip uninstall comtypes
,pywinauto仅适用于Win32 API。
答案 1 :(得分:2)
如果安装.NET Framework 3.0+没有帮助(或者如果已经安装),并且您需要使用Win XP,请安装Windows更新KB971513。它为我解决了加载库问题。
答案 2 :(得分:0)
我需要将Winxp升级到Win7或Win8或Win10。