windows从源码安装python版本paddleocr3.4.0

针对PaddleOCR 3.4.0 版本在Windows上从源码安装,核心变化在于其安装机制和依赖项与之前的版本(如2.x)有较大不同。

根据最新的官方文档,PaddleOCR 3.x 系列(包括3.4.0)的安装和依赖管理方式已经更新 。下面是根据你的要求整理的安装步骤。

📋 第一步:准备Python环境

PaddleOCR 3.4.0 对Python版本有明确要求,请确保你的环境符合条件。

  • Python版本要求:3.8、3.9、3.10、3.11 或 3.12 。

  • (强烈推荐)使用虚拟环境 :用Anaconda创建一个干净的环境,避免与其他项目产生依赖冲突。

    bash 复制代码
    # 创建名为paddleocr340_env,Python版本为3.10的环境
    conda create -n paddleocr340_env python=3.10
    # 激活环境
    conda activate paddleocr340_env

🚀 第二步:安装核心引擎(飞桨 PaddlePaddle)

PaddleOCR 3.4.0 要求 PaddlePaddle版本必须大于或等于 3.0.0 。请根据你的硬件情况,在激活的环境中选择安装。

  • CPU版本 (兼容性最好):

    bash 复制代码
    pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
  • GPU版本 (需要NVIDIA显卡,速度更快):

    bash 复制代码
    # 请根据你的CUDA版本选择合适的安装命令。以下以CUDA 11.8为例,更多版本请参考官方文档
    pip install paddlepaddle-gpu==3.4.0 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html

    如果不确定CUDA版本,可以在命令行输入 nvidia-smi 查看。

安装后,运行以下Python代码进行验证:

python 复制代码
import paddle
print(paddle.__version__) # 预期输出应为 3.x.x
paddle.utils.run_check()

📥 第三步:从源码安装PaddleOCR 3.4.0

从3.x版本开始,PaddleOCR的安装方式更加模块化,它依赖PaddleX作为推理基础设施 。从源码安装可以让你获取最新的代码和特性。

  1. 克隆指定版本的PaddleOCR仓库

    在你想要存放项目的目录下,打开命令行,执行以下命令来克隆 3.4.0 版本的代码。首先,克隆完整仓库,然后切换到对应的tag。

    bash 复制代码
    # 克隆主仓库
    git clone https://github.com/PaddlePaddle/PaddleOCR.git
    # 如果上面clone不下来可以使用国内源直接下载源码: kaggle.com/futureflsl/paddleocr-src
    
    
    # 进入目录
    cd PaddleOCR
    
    # 切换到3.4.0版本的代码
    git checkout v3.4.0
  2. 安装核心OCR功能

    PaddleOCR 3.4.0的核心功能现在通过PaddleX包提供。最基本的核心OCR安装命令如下,它会自动安装必要的依赖 。

    bash 复制代码
    pip install -e . -i https://mirror.baidu.com/pypi/simple

    或者,如果你想明确安装核心OCR依赖,可以执行:

    bash 复制代码
    pip install "paddlex[ocr-core]>=3.4.0,<3.5.0" -i https://mirror.baidu.com/pypi/simple
  3. (可选)安装更多功能模块

    如果你需要使用文档解析(如表格、公式识别)、信息提取(PP-ChatOCR)或翻译等功能,可以按需安装额外的依赖组 。

    • 文档解析功能 (Layout detection, Table recognition, etc.):

      bash 复制代码
      pip install "paddlex[ocr,genai-client]>=3.4.0,<3.5.0" -i https://mirror.baidu.com/pypi/simple
    • 信息提取功能 (PP-ChatOCRv4):

      bash 复制代码
      pip install "paddlex[ie]>=3.4.0,<3.5.0" -i https://mirror.baidu.com/pypi/simple
    • 文档翻译功能 :

      bash 复制代码
      pip install "paddlex[trans]>=3.4.0,<3.5.0" -i https://mirror.baidu.com/pypi/simple
    • 所有功能全安装 :

      bash 复制代码
      pip install "paddlex[ocr,genai-client,ie,trans]>=3.4.0,<3.5.0" -i https://mirror.baidu.com/pypi/simple
  4. (重要)安装训练所需的依赖

    如果你需要进行模型训练,仅仅安装核心包是不够的,还需要安装源码中的 requirements.txt

    bash 复制代码
    pip install -r requirements.txt -i https://mirror.baidu.com/pypi/simple

    这个文件包含了像 shapely, scikit-image, opencv-python 等重要的依赖库 。在Windows上安装 shapely 时如果遇到问题,可以尝试手动下载与你Python版本对应的whl文件进行安装。

🎯 第四步:验证安装

安装完成后,通过一个简单的Python脚本来验证PaddleOCR 3.4.0是否工作正常。首次运行时会自动下载模型,请保持网络畅通。

创建一个.py文件,例如test_ocr_340.py,写入以下代码:

python 复制代码
from paddleocr import PaddleOCR

# 初始化OCR,首次运行会自动下载模型
# 你可以通过环境变量 PADDLE_PDX_MODEL_SOURCE 切换下载源(如 'BOS' 使用百度源)
ocr = PaddleOCR(use_angle_cls=True, lang='ch', use_gpu=False) # 如果没有GPU,设置use_gpu=False

# 指定图片路径,可以使用源码目录下的测试图片
img_path = 'doc/imgs/11.jpg'

# 执行OCR
result = ocr.ocr(img_path, cls=True)

# 打印识别结果
if result and result[0] is not None:
    for line in result[0]:
        print(f'识别文本: {line[1][0]}, 置信度: {line[1][1]}')
else:
    print("未识别到文字")

在命令行中运行:

bash 复制代码
python test_ocr_340.py

如果看到识别的文字信息,恭喜你,PaddleOCR 3.4.0在Windows上的源码安装就成功了。

💡 常见问题与贴士

  • 模型下载失败 :如果从默认的HuggingFace源下载模型失败,可以通过设置环境变量切换到国内的百度对象存储(BOS)源 :

    python 复制代码
    import os
    os.environ['PADDLE_PDX_MODEL_SOURCE'] = 'BOS'
    # 然后再初始化 PaddleOCR
  • PaddlePaddle版本不匹配 :如果遇到 ImportError: PaddleOCR requires PaddlePaddle >= 3.0.0 的错误,请升级你的PaddlePaddle版本 。

  • 缺少依赖模块 :当使用某些特定功能(如文档解析)时,如果遇到ModuleNotFoundError,请检查是否安装了对应的可选依赖组(如 paddlex[ocr,genai-client])。

如果你在安装过程中遇到任何具体的报错信息,可以随时告诉我,我会尽力协助你解决。在这里插入代码片

相关推荐
七夜zippoe2 小时前
模型解释性实战:从黑盒到白盒的SHAP与LIME完全指南
人工智能·python·机器学习·shap·lime
Smart-Space2 小时前
QuickUp v4 新功能一览
python·tkinter·tinui
m0_531237172 小时前
C语言-static关键词,寄存器变量,define宏定义
c语言·开发语言
喵手2 小时前
Python爬虫实战:电商问答语料构建完整实战 - 从爬取到检索语料的工程化实现(附CSV导出 + SQLite持久化存储)!
爬虫·python·sqlite·爬虫实战·零基础python爬虫教学·电商问答语料构建·爬取到检索语料
CHANG_THE_WORLD3 小时前
C++ 一维、二维、三维数组完整演示
开发语言·c++
APIshop3 小时前
淘宝商品评论接口实战解析:从抓包到数据抓取全链路技术指南
java·python
~央千澈~3 小时前
抖音弹幕游戏开发之第14集:添加更多整蛊效果·优雅草云桧·卓伊凡
开发语言·python·游戏
百锦再3 小时前
Java synchronized关键字详解:从入门到原理(两课时)
java·开发语言·struts·spring·kafka·tomcat·maven
油丶酸萝卜别吃3 小时前
什么是 Java 内存模型(JMM)?
java·开发语言