背景:
Python版本:3.6.5,32位
Windows10,64位

先把总结放上,急性子的同学直接看总结也OK,如果遇到问题,请继续往下看,是否有你需要的答案~

  • 总结
    这次的安装踩的坑比较多,基本都记录在这里了。
    总结一下安装过程:
    1、安装pywin32
    从官网下载,确保pywin32的版本、位数同python的版本、位数一致
    双击exe进行安装,完成后,可以在cmd中输入python
    import win32com
    import win32api
    检查是否能引成功
    2、安装Autoitlibrary
    https://pypi.org/project/AutoItLibrary/ 从官网下载,如果本机是python3版本,需要修改AutoItLibrary中py文件的语法错误,以满足python3的语法
    用管理员身份打开cmd,进入到Autoitlibrary目录,执行
    python setup.py install进行安装
    3、安装Autoit-V3
    https://www.autoitscript.com/site/autoit/downloads/
    从官网下载exe程序autoit-v3-setup.exe,直接双击安装
    4、pip install robotframework-autoitlibrary
    pip list看下有没有这个库,没有的话安装上

1. 安装pywin32

pywin32的下载地址:https://sourceforge.net/projects/pywin32/files/pywin32/

不管电脑是32位还是64位的系统,pywin32的版本必须匹配python的版本和位数

安装的python是32位的,则选择32位的pywin32

安装的python是64位的,则选择64位的pywin32

python是几位的,可以在cmd模式下输入python进行查看

AUTOIT调取python接口 autoit python_官网


我本地是32位的python3.6.5,所以选择了这个包pywin32-221.win32-py3.6.exe直接双击exe程序安装,安装后pip show可以看到该包的信息

AUTOIT调取python接口 autoit python_python_02


2. 安装AutoItLibrary

从官网上下载的autoltlibrary是符合python2语法的,但是不符合python3.所以如果要在python3下使用需要将语法错误改掉

注意:这里需要使用管理员身份打开cmd,然后进入到Autoitlibrary目录下,执行python setup.py install(1)修改setup.py中的print语法,然后执行python setup.py install报错:

subprocess.CalledProcessError: Command ‘python C:\Python36\Lib\site-packages\win32com\client\makepy.py C:\Python36\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll’ returned non-zero exit status 1.

AUTOIT调取python接口 autoit python_AUTOIT调取python接口_03


从网上找了一个解决方法,可以解决该问题:

修改setup.py文件,注释掉

subprocess.check_call(cmd, shell=True)

subprocess.check_call(cmd)(2)再次执行,报错Logger.py中语法错误

用PyCharm打开Logger.py文件,发现有语法错误,主要是raise Exception,xxx 修改为raise Exception(xxx)

AUTOIT调取python接口 autoit python_语法错误_04


(3)修改完后,再次执行;发现不报错了,Python36\Lib\site-packages下除了更新了AutoItLibrary目录外,其他没啥变化

在RED上重新检索库,可以检索到AutoItlibrary,如下

AUTOIT调取python接口 autoit python_python_05


但是重新Reload AutoItLibrary库时,有报错,忘记截图,错误大概意思是:No Module “Logger”

AUTOIT调取python接口 autoit python_语法错误_06

走到这里发现还没有有安装autoit-v3-setup.exe,/(ㄒoㄒ)/~~
然后安装上autoit-v3-setup.exe,使用默认,点点点next到最后
再次reload 还是有这个错误No Module “Logger”

不知道该怎么办了
执行个python -m pip install robotframework-autoitlibrary吧,毕竟这时候pip list还没有robotframework-autoitlibrary
发现执行完这条后,reload AutoItlibrary 不报错了
看了下大部分关键字都在
惊喜,可以正常用了
感觉踩了很多的坑 /(ㄒoㄒ)/~~

  • 其他错误:

(1)错误:Don’t think we need to unregister the old one
原因:已经存在Autoitlibrary目录,需要将旧的目录删除掉;然后再次pip install

(2)reload AutoItlibrary时报错:No System module 'pywintypes’

解决方法:

把C:\Python36\Lib\site-packages\pywin32_system32 中的文件pywintypes36.dll拷贝到目录C:\Python36\Lib\site-packages\win32\lib下

AUTOIT调取python接口 autoit python_python_07


(3)安装pywin32后,在cmd的python中import win32api和win32com都报错 找不到模块

从网上找到一个方法

把pywin32的exe包解压,然后执行SCRIPTS中的pywin32_postinstall.py

python pywin32_postinstall.py --install

解决了这个问题.

reload Autoitlibrary 成功了!

AUTOIT调取python接口 autoit python_AUTOIT调取python接口_08

参照这里的步骤和问题总结,安装上应该没啥问题;
如有问题,咱再百度,哈哈哈~