已安装pyautogui但调用screenshot截图命令无法正常运行如何解决?
问题排查与解决步骤
- 第一步:先修正路径格式做最简测试
你当前代码的路径里多了不必要的转义引号,且文件名前包含多余前导空格,这是最常见的报错原因,空格会被识别为文件名的一部分,很容易出现你以为没生成文件、实际是文件名带空格找不到的情况。先运行如下简化代码,直接将截图保存到无特殊字符的根目录避免路径问题:
运行后如果能在对应路径找到生成的截图,说明原问题只是路径填写错误:正式写路径时不需要给带空格的用户名/目录名额外加引号,r前缀已经可以正确处理带空格的路径,直接写实际路径即可。如果运行时报错或者无文件生成,继续往下排查。import pyautogui img = pyautogui.screenshot() # 替换为你电脑上真实存在的无特殊字符路径,比如D盘根目录 img.save(r'D:\test_screenshot.png') - 第二步:检查依赖完整性
pyautogui的截图功能依赖Pillow库,先执行命令确认依赖已安装:pip show pillow
如果无返回结果,执行pip install pillow安装依赖。同时升级pyautogui到最新版本兼容系统:pip install --upgrade pyautogui
如果你使用了虚拟环境,需要确认你执行pip命令的环境和编辑器当前使用的Python解释器环境一致,避免库安装错环境。 - 第三步:排查权限与系统限制
- 右键点击你正在使用的编辑器(比如Pycharm),选择「以管理员身份运行」后重新执行代码,排除目录访问权限问题
- 检查是否有安全软件、企业权限策略禁止了截图操作,临时关闭安全软件后测试
- 多显示器场景下可尝试升级Pillow到最新版本,旧版本Pillow对多显示器截图支持存在缺陷
- 第四步:替换底层实现验证问题范围
运行如下代码直接调用Pillow的截图接口测试:
如果该代码可正常生成截图,说明pyautogui安装损坏,执行from PIL import ImageGrab img = ImageGrab.grab() img.save(r'D:\test_pil_screenshot.png')pip uninstall pyautogui -y && pip install pyautogui重装即可。如果该代码也无法运行,说明是系统或Pillow层面的问题,可尝试重装Pillow:pip uninstall pillow -y && pip install pillow
内容的提问来源于stack exchange,提问作者Ιωακείμ Παπαϊωάννου
相关产品推荐
相关产品推荐

