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
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>
将
pyinstaller -F -w --hidden-import=pyautogui main.py
经测试可正常运行。
注意从多方面寻找原因,重视细节问题。