关于python PyAutoGui与PyScreeze不兼容问题(2024.8.5)

程序在主机上运行的好好的,搬到服务器上部署的时候出问题了。。

最开始是调用pyautogui.locateCenterOnScreen()(pyautogui以下简称PAG)报这个:

pyscreeze.ImageNotFoundException: Could not locate the image (highest confidence = 0.395)

后面查了一下,发现是PyScreeze(以下简称PS)在0.1.19版本时,将定位不到图片的处理方式从return None变成了报错,给出的解决方法很简单,就是降级到0.1.18

降级后不出意外的还是报错,毕竟0.1.18都是5年前的东西了,所以索性就看看主机这边的环境,通过pip show pyautogui查询得主机的版本为0.9.53,然后我就给服务器那边的PAG降级到这个版本,然后意外又发生了,还是PS引起的,大概就是PAG说PS导不进来,我又看了一下主机这边的PS版本,是0.1.28,服务器那边是0.1.30(最新版),我就把服务器那边的PS降级到0.1.28,搞定

所以PAG和PS的版本最好是一一对应,PAG 0.9.54能用的PS 0.1.30,在PAG 0.9.53就用不了了

当然最开始报错时如果直接加一个try except就能直接解决了

比如从这样

while 1:
    location = pyautogui.locateCenterOnScreen(image_path, confidence=0.8)

变成这样

while 1:
    try:
        location = pyautogui.locateCenterOnScreen(image_path, confidence=0.8)
    except:
        continue

至于最开始为什么不改代码

因为我懒啊

以为降个级能搞定的事情,谁想到能扯出来这么多鬼bug。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值