2

PPOCRLabel 基于3.10环境,所以在安装前需要保证本机上安装有3.10环境。

在macos中,可以使用pyenv对python进行版本管理。

brew install pyenv

安装完成后,会有一些提示说明,请参考提示说明进行相关的配置(在写本文时,当前计算机已经安装好了pyenv,所以无法详细展示)。

在debian中,可以参考 https://bgasparotto.com/install-pyenv-ubuntu-debian进行安装。安装完成后,注意参考提示信息将 pyenv 的启动脚本加入到 ~/.bashrc(以bash)为例 中,然后重启bash

安装python3.10

安装完成后,先使用pyenv安装 3.10 版本:

pyenv install 3.10

此过程会从python的官网上下载指定的安装包,在下载的过程中并没有进度提示,所以需要通过监测网络情况下监测下载进度。

下载完成后,开始进行安装环节,同样不会显示安装的详细进度,可以通过终端的标题变化来观测安装进度。

image.png

安装完成后,可以使用pyenv versions查看当前已安装的版本,比如本机安装了2.7.8及3.10.13版本。

panjie@panjies-Mac-Pro ~ % pyenv versions    
* system (set by /Users/panjie/.pyenv/version)
  2.7.18
  3.10.13

使用python3.10

本机存在3.10的环境后,使用pyenv global <指定版本号>命令切换python版本到相应的版本,比如:

pyenv global 3.10.13

切换完成后,使用python3 --version 进行验证:

panjie@panjies-Mac-Pro ~ % python3 --version
Python 3.12.3

如果输出的版本号并不是前面设置过的,请重新检查 pyenv 的安装过程。

创建虚拟环境

python自己也意识到自己的这种混乱的版本方式势必会给以后带来很多问题,所以存在官方的 venv(Virtual Environments 虚拟环境)来解决这个问题。

在当前python版本为3.10的前提下,我们在自己喜欢的位置使用 python3 -m venv <似创建的虚拟环境文件夹名>来创建一个虚拟环境,比如:

python3 -m venv pp-ocr-label

接着执行:source <虚拟环境所在路径>/bin/activate 来进入这个虚拟的环境,比如:

source pp-ocr-label/bin/activate

此时终端将显示已经进行了python的虚拟环境,而在这个虚拟环境下执行的一切命令都会基于创建该虚拟环境时python的版本,比如当前为3.10,所以只要是在此虚拟环境下,就不需要再担心python版本的问题了。

安装PPOCRLabel

我们进入虚拟环境后,执行以下命令安成PPOCRLabel的安装.

$ pip install paddlepaddle==2.6.1
$ pip install opencv-contrib-python-headless==4.9.0.80
$ pip install PPOCRLabel==2.1.3
$ pip install setuptools==69.5.1

如果网络情况不理想,建议在上述命令后面加入-i参数指定国内源,比如:pip install paddlepaddle==2.6.1 -i https://mirror.baidu.com/pypi/simple

启动PPOCRLabel

启动PPOCRLabel,并将语言设置为中文:

PPOCRLabel --lang ch

稍等片刻,基于 QT 开发的PPOCRLabel客户端便启动起来了。

修正BUG

最后我们修正几处由于类型引发的bug

首先打开:lib/python3.12/site-packages/PPOCRLabel 文件夹,然后依次如下修正:

PPOCRLabel.py第1425行修正为:

  bar.setValue(bar.value() + int(bar.singleStep() * units))

libs/canvas.py, line 596

p.drawRect(int(leftTop.x()), int(leftTop.y()), int(rectWidth), int(rectHeight))

潘杰
3.1k 声望239 粉丝