python pyinstaller pyautogui 打包报错,提示没有后找到pyautogui模块

文章目录

  • 前言
  • 一、前因
  • 二、分析解决
  • 总结


前言

python项目使用了pyautogui库,使用pyinstaller打包后运行,提示没有找到pyautogui模块。


一、前因

在一个网页上下载文件,需要人工依次点击进入预览界面后再次点击【下载】按钮。当需要下载的文件过多时,整个过程将非常漫长而枯燥,所以使用pyautogui库来模拟人工点击操作,并且还使用tkinter写了一个简单的操作界面。但是使用pyinstaller打包这个项目之后,运行却报错了。
报错信息如下:

Traceback (most recent call last):
  File "main.py", line 3, in <module>
ModuleNotFoundError: No module named 'pyautogui'

二、分析解决

根据报错信息分析:在脚本中导入的pyautogui模块未找到。
导致这个错误的原因可能是系统中没有安装pyautogui模块,或者在打包过程中没有正确地包含该模块。
检查是否安装了pyautogui模块:

pip show pyautogui

python pyinstaller pyautogui 打包报错,提示没有后找到pyautogui模块_第1张图片
没有安装的话可以使用以下命令安装:

pip install pyautogui

从检查结果可以看到pyautogui模块安装是没有问题的。
再次打包,仍然会遇到该错误。
这时候就需要检查导入语句是否正确。确保在脚本的开头使用import pyautogui语句导入该模块。
确认后发现导入也没有问题。
在PyInstaller的打包命令中添加--hidden-import=pyautogui参数后再次测试:

pyinstaller -F -w --hidden-import=pyautogui main.py

测试发现仍然会报错。
在此之后更换了打包工具,使用cx_Freeze打包后运行,发现仍然提示pyautogui不存在,此时可以排除是打包工具的问题。
突然想起是不是默认安装的pyautogui版本不兼容,考虑到这个问题后,使用以下命令重新安装低版本的pyautogui模块:

pip install pyautogui==<version>

替换为对应版本号即可,我这里使用的是0.9.30版本

python pyinstaller pyautogui 打包报错,提示没有后找到pyautogui模块_第2张图片
再次重新使用pyinstaller打包:

pyinstaller -F -w --hidden-import=pyautogui main.py

经测试可正常运行。


总结

注意从多方面寻找原因,重视细节问题。

你可能感兴趣的:(Python,python,开发语言)