一、简介
PyAutoIt包提供了AutoIt的python接口。AutoIt是用来针对window程序进行自动化操作的一款程序,拥有自己的脚本语言,底层基于win32Api
二、安装问题
在64位机器上,且使用64位python,pip install PyAutoIt的过程
中,可能会报如下错误:
OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
三、解决方法
下载包,然后手动安装
下载PyAutoIt包,解压进入目录,找到目录中的setup.py文件
在该文件的15行左右,有一行代码
dll = "AutoItX3.dll"
这行代码就是我们报错的原因,64位系统\Python用的应该是AutoItX3_x64.dll,所以把这行代码改过来就行了
dll = "AutoItX3_x64.dll"
改完后保存,运行命令:
python setup.py install
即可安装成功
四、扩展
可以注意到,在刚才改过代码下面,有一个if判断:
bit, _ = platform.architecture()
if "(x86)" in os.environ['PROGRAMFILES'] and bit == "64bit":
# if 64bit version of python within 64bit version of Windows,
# load AutoItX3_x64.dll
dll = "AutoItX3_x64.dll"
在交互式命令行中运行:
os.environ['PROGRAMFILES']
会发现结果是:
C:\Program Files
32位系统是:
C:\Program Files (x86)
所以问题应该出if的第一个条件中,大概率是作者的源码写错了,导致在64位平台下无法正确引用对应位数的dll