Я не могу успешно импортировать pywinauto в python 3.6.4 - PullRequest
0 голосов
/ 07 июня 2018

Я начал с установки «pywinauto» в пипсах и попытался импортировать его, и сначала я получил сообщение о том, что модуль win32api отсутствует.Я попытался установить pip-модуль этого модуля, но получил сообщение о том, что удовлетворительная версия не найдена.

Затем я скачал его копию из Интернета, которая, когда я пытался установить ее, сообщила мне, что я неУ меня не было установленного Python 3.6 (!) У меня было несколько установок более ранних версий, и я беспокоился о том, что они могут вызывать проблемы, поэтому я удалил их и попытался снова, но безуспешно.Путь к моему исполняемому файлу: C:\Python36\python.exe.

. Я перешел в папку site-packages, удалил папки pywinauto и pywinauto-0.6.4-py3.6.egg-info и выполнил новую установку pip, которая завершилась сообщением: «Успешно установленоpywinauto-0.6.4 "и попытался импортировать его снова.

На этот раз я получил следующее:

import pywinauto

File "C:\Python36\lib\site-packages\pywinauto\__init__.py", line 72, in <module>
from . import findwindows
File "C:\Python36\lib\site-packages\pywinauto\findwindows.py", line 42, in <module>
from . import controls
File "C:\Python36\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:\Python36\lib\site-packages\pywinauto\controls\uiawrapper.py", line 46, in <module>
from ..uia_defines import IUIA
File "C:\Python36\lib\site-packages\pywinauto\uia_defines.py", line 181, in <module>
pattern_ids = _build_pattern_ids_dic()
File "C:\Python36\lib\site-packages\pywinauto\uia_defines.py", line 169, in _build_pattern_ids_dic
if hasattr(IUIA().ui_automation_client, cls_name):
File "C:\Python36\lib\site-packages\pywinauto\uia_defines.py", line 50, in __call__
cls._instances[cls] = super(_Singleton, cls).__call__(*args, **kwargs)
File "C:\Python36\lib\site-packages\pywinauto\uia_defines.py", line 63, in __init__
self.ui_automation_client.CUIAutomation().IPersist_GetClassID(),
AttributeError: module 'comtypes.gen.UIAutomationClient' has no attribute 'CUIAutomation'

На данный момент я действительно не знаю, что делать.Похоже, что в одном из импортированных файлов отсутствует то, что нужно другому.Буду благодарен за любые идеи ......

1 Ответ

0 голосов
/ 07 июня 2018

Правильную зависимость можно установить так:

pip install pywin32

Ранее это было pypiwin32, но что-то изменилось в обслуживании этих пакетов и pywin32 снова стало официальным.pywinauto 0.6.5 вскоре отразит эти изменения.

Вторая проблема выглядит как проблема известных типов при создании файлов кэша для библиотеки типов UI Automation.Временное решение предполагает запуск сценария от имени администратора по крайней мере в первый раз, чтобы иметь доступ к папке кэша Comtypes.К сожалению, сопровождающие comtypes не так активны, и существует ряд запросов на удаление с очень похожими исправлениями, и все они по-прежнему зависают непринятыми.

...