RapidOCR 在 Python 3.12 安装失败?Shapely 依赖断裂,5 分钟修复
【免费下载链接】RapidOCR📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR
在 Python 3.12.4 下装 RapidOCR 的 API 组件,pip 卡在 Shapely 上直接安装失败?断点出在依赖兼容这一环。照下面两条命令的顺序走,几分钟就能解决,装完直接跑。
pip 一跑就报 No matching distribution?对号入座
Python 3.12.4 下执行pip install rapidocr_api,依赖解析到 Shapely 后连续报错,最终安装失败。⚠️ 终端输出长这样的,往下看:
$ pip install rapidocr_api Collecting rapidocr_api ERROR: Could not find a version that satisfies the requirement Shapely (from rapidocr-api) from versions: none ERROR: No matching distribution found for Shapely依赖链断在哪:Shapely 旧版缺 Python 3.12 的 wheel
把依赖树摊开:rapidocr_api→rapidocr_onnxruntime→Shapely。断点在最底层——旧版 Shapely 没发布适配 Python 3.12 的 wheel,新解释器下 pip 找不到可装候选,本地又缺 C 编译环境,解析器只能判死。上面两层本身没毛病,是底部这一环把整条链带崩了。
修复顺序:先 onnxruntime 后 api,别装反
pip install "rapidocr_onnxruntime>=1.3.24" pip install rapidocr_api- 第 1 条装底层:
rapidocr_onnxruntime从 1.3.24 起带上适配 Python 3.12 的 Shapely,先把依赖树底部换成对的版本。 - 第 2 条装上层:此时 Shapely 约束已闭合,
rapidocr_api一次装通,解析器不会回退旧依赖。
顺序反了的话,pip 会先按上层声明去挑旧版 Shapely,照样失败。装完顺手pip check验一下依赖闭合。
依赖地狱怎么破:底层版本一抬,整条链就通
说白了这是依赖地狱的常见形态:Python 3.12 换了 ABI,核心库先适配,锁旧 Shapely 的下游组件没跟上,链条中间断了一截。RapidOCR 的处理不绕弯——把底层rapidocr_onnxruntime升到 1.3.24+,让链上的 Shapely 整体换成新解释器可用的版本,上游自然通。
升级解释器前,先记这 4 条避坑项
- 优先装最新稳定版,别
pip install 包名==旧版本把自己锁死。 - 动手前翻项目更新日志,确认 Python 3.12 的依赖兼容情况,参见 python 目录文档。
- 先核心后上层:底层推理库装好再装组件,解析器不会挑旧依赖。
- 用虚拟环境隔离项目,解释器升级互不牵连。
装完就能跑,不用再折腾
两条命令跑完,RapidOCR 在 Python 3.12 下识别中英文都没障碍,放心用。
【免费下载链接】RapidOCR📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考