PaddleOCR 本地部署与 MCP 服务调用指南(Mac Intel CPU)
在本篇博客中,我们介绍如何在 Mac Intel CPU 上使用 Python 3.10 + PaddleOCR 本地部署 OCR 服务,并通过 MCP(MiniCP / CherryStudio)进行图片识别调用。
1️⃣ Python 环境准备
方式一:使用 Conda 环境(推荐)
# 创建专用环境
conda create -n paddleocr python=3.10 -y# 激活环境
conda activate paddleocr# 查看 Python 版本
python --version
# ✅ Python 3.10.x
⚠️ 注意:base 环境可能是 Python 3.8,PaddleOCR 3.x 需要 Python 3.10+。如果你想在 base 环境下使用,需要先升级 Python。
方式二:使用 Python venv(可选)
# 创建虚拟环境
python3.10 -m venv ~/paddleocr-env# 激活虚拟环境
source ~/paddleocr-env/bin/activate# 查看 Python 版本
python --version
# ✅ Python 3.10.x
2️⃣ 安装 PaddleOCR 及依赖
# 升级 pip
pip install --upgrade pip setuptools wheel# 安装 PaddlePaddle CPU 版本
pip install paddlepaddle==2.6.1# 安装 PaddleOCR
pip install paddleocr opencv-python shapely pyclipper fastapi uvicorn
测试安装
创建 test.py
文件:
from paddleocr import PaddleOCRocr = PaddleOCR()
result = ocr.ocr("test.jpg") # 替换为本地测试图片
print(result)
运行:
python test.py
✅ 如果输出识别结果,说明安装成功。
3️⃣ 部署 MCP 服务
创建 mcp_ocr_server.py
文件,示例内容:
from fastapi import FastAPI, UploadFile, File
from paddleocr import PaddleOCR
import shutilapp = FastAPI()
ocr = PaddleOCR()@app.post("/ocr/")
async def ocr_upload(file: UploadFile = File(...)):with open("temp.jpg", "wb") as buffer:shutil.copyfileobj(file.file, buffer)result = ocr.ocr("temp.jpg")return {"result": result}
启动服务:
uvicorn mcp_ocr_server:app --reload --port 8083
✅ 打开浏览器访问 http://127.0.0.1:8083/docs
可以看到 Swagger UI,测试上传图片。
4️⃣ CherryStudio MCP 调用示例
假设你已经在 CherryStudio 中配置了 MCP 节点,调用方式示例:
import requestsurl = "http://127.0.0.1:8083/ocr/"
files = {"file": open("test.jpg", "rb")}
response = requests.post(url, files=files)
print(response.json())
你可以直接在 CherryStudio 控制台执行该 Python 代码,实现 图片 OCR 调用测试。
5️⃣ 小技巧与注意事项
Conda 环境 vs venv:推荐使用 Conda,Python 版本管理更安全。
Mac Intel CPU:安装 PaddlePaddle CPU 版本即可,无需 GPU。
避免 Conda base 干扰:如果 base 环境里有 Python 3.8,请新建 Python 3.10 环境。
多项目隔离:每个 OCR 服务建议单独环境,避免依赖冲突。
通过以上步骤,你就可以在 Mac Intel CPU 上完成 PaddleOCR 本地部署,并通过 MCP 或 CherryStudio 直接调用实现图片文字识别。