【问题标题】:pywinauto error in Python 3.XPython 3.X 中的 pywinauto 错误
【发布时间】:2015-02-16 21:29:42
【问题描述】:

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

pip.exe install pywinauto

这给了我以下输出:

C:\Python34\Scripts>pip.exe install pywinauto 下载/解包 pywinauto 运行 setup.py (路径:C:\Users\arun_m\AppData\Local\Temp\pip_build_arun_m\pywinauto\setup.py) pywinauto 包的 egg_info

安装收集的包:pywinauto 运行 setup.py install 对于pywinauto 文件“C:\Python34\Lib\site-packages\pywinauto\clipboard.py”,第 94 行 打印格式 ^ SyntaxError: 无效语法

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

第 356 行 print "##### 还没有处理 TVN_GETDISPINFO 的东西" ^ SyntaxError: 无效语法

  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: 无效语法

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

39 打印“废话” ^ 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: 无效语法

  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(最近一次调用最后一次):文件“”,第 1 行,in 从 pywinauto 导入应用程序文件“C:\Python34\lib\site-packages\pywinauto\application.py”,第 64 行,在 import win32structures ImportError: No module named 'win32structures'

我在Python3.4文件夹中搜索,在该位置找到“win32structures.py”文件:

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

我不知道为什么当文件存在时它会给出“ImportError”。

你能告诉我出了什么问题吗?

谢谢!

【问题讨论】:

    标签: python python-3.x python-import pywinauto


    【解决方案1】:

    官方pywinauto 0.4.2 版本仅兼容32位Python 2.x。例如,您可以在Python 2.7.8 32-bit 上安装pywinauto(我使用Python 2.6.6)。您还可以找到一些与 64 位 Python 2.x 兼容的非官方修改(这对于 64 位应用程序自动化是绝对必要的)。我没有看到 Python 3.x 兼容版本。也许你会更幸运。

    编辑:

    pywinauto 项目已移至GitHub repo。现在兼容Python 3.x。将64-bit Python 用于64-bit 应用程序,将32-bit Python 用于32-bit 应用程序。

    【讨论】:

    • 感谢您的信息。我尝试执行以下操作:pip.exe install pywinauto for Python 2.7.8 但它没有给出任何消息,也没有安装它。所以我已经下载了“pywinauto-0.4.2.zip”文件,并将尝试使用python 命令安装它,并让你知道它是如何进行的。谢谢!!
    【解决方案2】:

    你的建议奏效了!我安装了以下软件包:

    SendKeys-ctypes-0.2

    然后在 Python 2.7.8 中安装 pywinauto。 “pywinauto”似乎工作得很好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多