运行Python项目main.py时出现easyocr模块找不到错误求助
解决ModuleNotFoundError: No module named 'easyocr'问题
问题重现
运行项目中main.py时触发如下错误:
Traceback (most recent call last): File "c:\Users\ASUS\Desktop\FYP Docs\Codes\New folder\Sidekick-S-TFG\main.py", line 2, in <module> import FlowchartObjectDetection File "c:\Users\ASUS\Desktop\FYP Docs\Codes\New folder\Sidekick-S-TFG\FlowchartObjectDetection.py", line 5, in <module> from BlockDetection import detect_blocks File "c:\Users\ASUS\Desktop\FYP Docs\Codes\New folder\Sidekick-S-TFG\BlockDetection.py", line 9, in <module> from ocr import get_text File "c:\Users\ASUS\Desktop\FYP Docs\Codes\New folder\Sidekick-S-TFG\ocr.py", line 2, in <module> from OCR import EasyOCR, Tesseract, AzureOCR File "c:\Users\ASUS\Desktop\FYP Docs\Codes\New folder\Sidekick-S-TFG\OCR\EasyOCR.py", line 4, in <module> import easyocr ModuleNotFoundError: No module named 'easyocr'
已在requirements.txt中添加easyocr依赖,且执行pip install easyocr无报错。
解决方案
检查Python环境一致性
多数情况下,pip安装的包和运行项目的Python解释器不属于同一版本。按以下步骤确认:- 在
main.py开头添加代码并运行,查看当前项目使用的Python路径:
输出示例:import sys print(sys.executable)c:\Users\ASUS\AppData\Local\Programs\Python\Python39\python.exe - 在终端执行命令,查看pip对应的Python路径:
输出示例:pip --versionpip 23.0.1 from c:\Users\ASUS\AppData\Local\Programs\Python\Python39\lib\site-packages\pip (python 39) - 若两者路径不一致,用项目对应的Python版本重新安装:比如项目用Python3.9,就执行
python3.9 -m pip install easyocr
- 在
用虚拟环境隔离依赖
虚拟环境可避免全局依赖冲突,确保项目使用的包版本正确:- 在项目根目录创建虚拟环境:
python -m venv venv - 激活虚拟环境:
- Windows系统:
venv\Scripts\activate - macOS/Linux系统:
source venv/bin/activate
- Windows系统:
- 安装requirements中的所有依赖:
pip install -r requirements.txt - 在激活的虚拟环境中运行
main.py
- 在项目根目录创建虚拟环境:
强制重新安装easyocr
若pip list命令输出中没有easyocr,说明之前的安装未生效,执行强制重装命令:pip install --force-reinstall easyocr确认OCR目录为Python包
检查项目中OCR文件夹是否包含__init__.py文件(空文件即可),确保Python能识别该目录为可导入的包,避免路径导入异常。
内容的提问来源于stack exchange,提问作者Kanchana Kariyawasam
相关产品推荐
相关产品推荐

