在安裝 AutoItLibrary 用於Robot Framework 時遇到過幾個問題,記錄一下解決方法。python
前提:必須使用管理員權限運行cmd。
shell
這其中有兩個錯誤要解決:函數
Don't think we need to unregister the old one...
這是由於檢測到:在python的目錄下已有該 libui
解決方法:
如個人目錄是D:\Program Files (x86)\Python27\Lib\site-packages\AutoItLibrary
,那就須要把這個目錄下的文件清空。
spa
Traceback (most recent call last):
File "setup.py", line 70, in <module>
subprocess.check_call(cmd, shell=True)
File "D:\Program Files (x86)\Python27\lib\subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '%SYSTEMROOT%\system32\regsvr32.exe /S D:\Program Files (x86)
\Python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll' returned non-zero exit status 3
關於subprocess.check_call
這個函數看了下這篇文章:
https://blog.csdn.net/liushuibufuqin/article/details/78892831.net
解決方法(忘了當時在哪裏查到的了,方法可行,可是未必科學):code
一、到下載下來的AutoItLibrary-1.1
文件夾下,打開setup.py
文件;
二、註釋掉第70行(行數可能有誤差)的subprocess.check_call(cmd, shell=True)
;
三、註釋掉第81行(行數可能有誤差)的subprocess.check_call(cmd)
blog
以上問題解決後,AutoItLibray 總算安裝成功,可是卻又發現了更詭異的事情:文檔
安裝的庫並不完整!!!get
在Robot Framework 中導入AutoItLibray 準備使用了,卻發現使用 click button 之類的關鍵字不生效(顏色都沒標識)。因而,使用 F5 查看關鍵字,確實不完整,有 open 、close 之類的關鍵字,卻沒有 click 等等。
檢查了:
一、AutoItLibray 確實已導入成功,從新導了N次都仍是原狀;
二、pywin32 與 python 版本確實是對應的,當時安裝,都選擇了32位,AutoIt 選擇的也是x86版本;
反覆查找相關文檔,仍無果,因此只能決定從新安裝,並且選擇64位的python(電腦本就是64位,只是當時怕 python 版本與 pywin32 不兼容才選擇安裝32位的 python)。另外,忘了在哪處看到安裝目錄不要有空格,聯想到當時 python 安裝在Program Files (x86)
目錄下,可能也有這個緣由,因此在重裝 python 時選擇了沒有空格的目錄。重裝後,以上兩個問題好像並無再出現(不太記得了),AutoItLibray 也終於能正常使用。
因此以上發現的問題頗有可能都是 python 的安裝本就不正確而致使。所以,要必定注意 python 的版本與安裝目錄。