PaddleOCR开发环境搭建

PaddleOCR开发环境搭建

一、安装Mambaforge

1. 关于Anaconda和miniconda

​ Anaconda是一个基于python科学计算工具包,其中集成了一个非常优秀的虚拟环境管理程序叫conda。而许多用户只需要使用到它的环境管理程序,所以Anaconda将python和conda程序单独封装发布为miniconda。

​ Miniconda是Anaconda公司的免费产品,并不是开源的。Miniforge是miniconda一个开源的重新实现。Mambaforge在Miniforge的基础上集成了高性能的Mamba作为包管理工具。

2. Mambaforge的安装

​ Mambaforge的开源地址为https://github.com/conda-forge/miniforge。在项目的release中下载对应系统的安装脚本,直接运行按照提示即可安装完成。

安装完成后,使用conda init将conda命令配置到shell的启动脚本中。如果不需要启动默认激活base环境,可以使用

1
conda config --set auto_activate_base false

二、创建虚拟环境

1. 创建虚拟环境

1
conda create -n paddleocr python=3.10 -y

2. 切换到虚拟环境

1
conda activate paddleocr

3. 退出虚拟环境

1
conda deactivate

三、安装paddleocr库

1. 安装paddle库

(1) 安装国内源

1
2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

(2) 安装paddle库

​ 请先切换到创建的虚拟环境,当没有Nvidia显卡时,请安装CPU版本。

CPU版本的安装
1
conda install paddlepaddle==2.5.0 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
GPU版本的安装
1
conda install paddlepaddle-gpu==2.5.0 cudatoolkit=10.2 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/

四、虚拟环境激活时的环境变量写入

​ 使用conda安装GPU版本的paddle时,会自动安装对应的cuda库,但是linux下没有自动将cuda的库放到系统导入的路径下,导致无法加载。

1. 查看环境安装位置

1
conda env list |grep paddleocr

返回的信息中有虚拟环境的安装位置,以下用${env_path}代替

2. 在激活虚拟环境时,修改环境变量

1
2
3
4
5
6
# 创建激活环境hook脚本
mkdir -p ${env_path}/etc/conda/activate.d/
vim ${env_path}/etc/conda/activate.d/env_vals.sh
# 保存原环境变量,并加入Paddle依赖的lib
export LD_LIBRARY_PATH=${env_path}/lib:$LD_LIBRARY_PATH
export OLD_LIBRARY_PATH=$LD_LIBRARY_PATH

3. 在退出虚拟环境时,恢复环境变量

1
2
3
4
5
6
# 创建退出环境hook脚本
mkdir - p ${env_path}/etc/conda/deactivate.d/
vim ${env_path}/etc/conda/deactivate.d/env_vals.sh
# 还原环境变量,并将在激活时自己创建的环境变量删除
export LD_LIBRARY_PATH=$OLD_LIBRARY_PATH
unset OLD_LIBRARY_PATH

(补充) windows WSL2子系统中的CUDA

​ 在windows WSL2子系统中,cuda驱动被安装在/usr/lib/wsl/lib下,因此在加入环境变量时,需要增加一个路径。

1
export LD_LIBRARY_PATH=${env_path}/lib:/usr/lib/wsl/lib:$LD_LIBRARY_PATH

​ WSL2子系统中,没有默认的LD_LIBRARY_PATH,因此当以上的设置设置完后,有些系统自带的lib加载不到了。最终在子系统中的环境变量设置应该是

1
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:${env_path}/lib:/usr/lib/wsl/lib:$LD_LIBRARY_PATH

五、安装结果测试

1. paddle库安装结果测试

1
python -c "import paddle; paddle.utils.run_check()"

打印的信息中含有PaddlePaddle is installed successfully!说明安装成功。

2. paddleocr库安装结果测试

1
python -c "import paddleocr"

打印的信息中没有报错信息说明安装成功。


PaddleOCR开发环境搭建
https://wellt.cn/2023/07/19/paddleocr-installation/
作者
caojingchen
发布于
2023年7月19日
许可协议