0

我已经使用以下命令在 Python 3.4.1 32 位(在 Windows 7 64 位机器上)安装了“pywinauto”:

pip.exe install pywinauto

这给了我以下输出:

C:\Python34\Scripts>pip.exe install pywinauto 下载/解压 pywinauto 运行 setup.py (path:C:\Users\arun_m\AppData\Local\Temp\pip_build_arun_m\pywinauto\setup.py) egg_info for package pywinauto

安装收集的包:pywinauto Running setup.py install for pywinauto File "C:\Python34\Lib\site-packages\pywinauto\clipboard.py",第 94 行打印格式 ^ SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\controls\common_controls.py",

第 356 行打印“##### 尚未处理 TVN_GETDISPINFO 的内容”^ SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\controls\HwndWrapper.py",

第 461 行打印“未找到对话框”^ SyntaxError:无效语法

  File "C:\Python34\Lib\site-packages\pywinauto\controls\wraphandle.py", line

43 除了 AttributeError, e: ^ SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\controls\__init__.py", line

39 print "blah" ^ SyntaxError: 无效语法

  File "C:\Python34\Lib\site-packages\pywinauto\findbestmatch.py", line 137
    _after_tab = re.compile(ur"\t.*", re.UNICODE)
                                   ^
SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\findwindows.py", line 221
    print "==" * 20
             ^
SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\handleprops.py", line 323
    print "%15s\t%s" % (name, value)
                   ^
SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\tests\missingextrastring.py",

第 160 行打印 num_found, num_bugs, loc, ref ^ SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\tests\__init__.py", line 79
    print "BugType:", bug_type, is_in_ref,
                   ^
SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\test_application.py", line 36
    app.connect_(path = ur"No process with this please")
                                                      ^
SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\win32defines.py", line 50
    HKEY_CLASSES_ROOT = 2147483648L # Variable POINTER(HKEY__)
                                  ^
SyntaxError: invalid syntax

  File "C:\Python34\Lib\site-packages\pywinauto\win32structures.py", line 43
    print "%20s "% name, getattr(struct, name)
                ^
SyntaxError: invalid syntax

成功安装 pywinauto 清理...

之后,当我在 Python 的 IDLE 中执行以下操作时:

import pywinauto

它没有错误。但是当我尝试时:

from pywinauto import application

它给了我以下输出:

Traceback (most recent call last): File "", line 1, in from pywinauto import application File "C:\Python34\lib\site-packages\pywinauto\application.py", line 64, in import win32structures ImportError: No module named 'win32structures'

I searched in Python3.4 folder and found "win32structures.py" file in the location:

C:\Python34\Lib\site-packages\pywinauto\

I don't know why it's giving "ImportError" when the file is present.

Can you please tell me what's going wrong?

Thanks!

4

2 回答 2

1

Official pywinauto 0.4.2 version is compatible with 32-bit Python 2.x only. You can install pywinauto on Python 2.7.8 32-bit, for example (I use Python 2.6.6). Also you can find some unofficial modifications which are compatible with 64-bit Python 2.x (it's absolutely necessary for 64-bit apps automation). I didn't see Python 3.x compatible versions. Maybe you will be more lucky.

EDIT:

pywinauto project has been moved to GitHub repo. It's Python 3.x compatible now. Use 64-bit Python for 64-bit apps and 32-bit Python for 32-bit ones.

于 2014-12-18T08:25:38.337 回答
0

You suggestion worked! I installed the following package:

SendKeys-ctypes-0.2

and then installed pywinauto in Python 2.7.8. "pywinauto" seems to be working just fine!!

于 2014-12-18T08:58:09.123 回答