我已经安装了包:pywinauto成功使用“pip install pywinauto”,但它总是失败,为什么?

时间:2017-02-15 08:01:59

标签: python windows pywinauto

所有

我已经安装了包: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

3 个答案:

答案 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。