飞桨——总结PPOCRLabel中遇到的坑

操作系统:win10

python环境:python3.9

paddleocr项目版本:2.7

1.报错:ModuleNotFoundError: No module named 'Polygon'(已解决)

已解决所以没有复现报错内容

 尝试方法一:直接使用pip命令安装,但会报错

pip install Polygon

Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools

报错大概意思是由于window系统在使用pip安装第三方库的时候,缺少C++环境,无法安装,看了解决方法可以去安装visual C++ 14.0,并勾选win10SDK(下载对应自己的win版本),亲测有效,但是感觉这个方法再安装一个visual studio有点重,又尝试了一个方法,直接去下面的地址下载.whl文件手动安装

PyPI · The Python Package Index 

https://www.lfd.uci.edu/~gohlke/pythonlibs/

我采用的是第二个地址,下载比较快,直接搜索找到Polygon,根据自己电脑选择对应的.whl文件,由于我是python3.9选择下载第一个

下载好以后,进入存放该文件的文件夹中,在终端执行以下命令进行安装:

pip install Polygon3-3.0.9.1-cp39-cp30-win-amd64.whl

安装成功!

2.报错:ModuleNotFoundError: No module named 'lanms'(已解决)

在运行以下命令时报缺少lanms库的错误

python PPOCRLabel.py --lang ch --kie True

尝试方法一:通过以下命令安装都会出现新的报错

pip install lanms

pip install lanms-eno

pip install lanms==1.0.2

 

新的报错:

1.遇到了error:subprocess-exited-with-error错误可能是因为python版本问题,setuptools是python的开源包管理器,可以通过升级这个库来更新,解决一些版本不兼容的问题,通过执行以下命令,但我试了没有解决问题

pip install --upgrade setuptools

2.This error originates from a subprocess, and is likely not a problem with pip.此错误源自子进程,可能不是 pip 的问题。后来又从这句问题入手,先确保自己使用的pip是最新版,进行了升级:

python -m pip install --upgrade pip

发现也解决不了问题

 尝试方法二:好像是因为paddleocr版本太高了,需要把版本调整为2.6.X的,但是尝试也不行

查看版本

pip install paddleocr==

选择对应版本,并添加镜像源,下载更快

pip install paddleocr==2.x.x.x -i  镜像源

 

尝试方法三:回到最初的起点,尝试手动安装,并参考该笔者的解决办法,成功解决

paddleocr,windows pip 安装巨坑 lanms 库,全网最简单,最直接,最有效(记录贴)_lanms python 安装-CSDN博客

照着该笔者的方法亲测有效,虽然不知道为啥,但是很厉害,能够解决问题

后来又出现了新的问题,又重新卸载了lanms,选择去官方网站下载lanms库(第二个地址没有lanms库的.whl文件),然后编译安装成功

jPyPI · The Python Package Index

(1)进入地址,搜索lanms并选择最新版本

(2)下载lanms-1.0.2.tar.gz文件,下载应该很慢

(3)直接解压文件,并进入文件夹中,直接执行python setup.py build会报错FileNotFoundError: [WinError 2] 系统找不到指定的文件。参考上面笔者的方法,打开setup.py文件,注释以下内容:

   if subprocess.call(['make', '--always-make','-C', BASE_DIR]) != 0:
   raise RuntimeError('Cannot compile lanms in the directory: {}'.format(BASE_DIR))

(4)进入lanms文件夹中,打开__init__.py文件,注释以下内容,避免之后报错 ModuleNotFoundError: No module named 'lanms.adaptor',

# from .adaptor import merge_quadrangle_n9 as nms_impl

 (5)打开命令行窗口,执行以下命令,完成安装

编译命令

python setup.py build

安装命令

python setup.py install

 安装成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/176592.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

rook-ceph部署

rook是云原生存储编排器,本身不提供存储。 下载 git clone --single-branch --branch v1.11.4 https://github.com/rook/rook.git cd rook/deploy/examples 修改镜像地址images.txt operator方式部署rook kubectl apply -f crds.yaml -f common.yaml -f operator…

java实现置顶功能

目录 一、需求描述 二、功能呈现 (一)需求分析 (二)关键设计披露 1、数据库字段 2、查询语句 一、需求描述 在查看公司列表数据时,我想最先看到我常用的公司。 也就是,我想把这个公司放在最前面&am…

【Windows 常用工具系列 13 -- Confluence 如何快速输入代码块 code block】

文章目录 Confluence 如何快速输入代码块方法二 Confluence 如何快速输入代码块 在使用使用 confluence 进行文档编辑时,有时需要贴上部分代码,但是直接贴代码在 confluence上,显示效果不是太好看,所以confluence 给我们提供了符…

DolphinDB 浙商银行 | 第二期现场培训圆满结束

自 DolphinDB 高级工程师计划开展以来,客户们纷纷响应,除了定期收看我们每周三开设的线上公开课外,也有部分客户报名参加了 “总部工程师培训计划” 。 上周,我们迎来了总部培训的第二期学员:来自浙商银行的4位策略研…

【qsort学习及改造冒泡排序能排序任何数】

qsort学习及改造冒泡排序能排序任何数 qsort的使用 qsort的使用 这个函数也不是很复杂!!! qsort(void*base,size_t num,size_t width,int(int (__cdecl *compare )(const void *elem1, const void *elem2 )))  void * base,为数组的基地…

cocos2dx ​​Animate3D (一)

3D相关的动画都是继承Grid3DAction 本质上是用GirdBase进行创建动画的小块。 Shaky3D 晃动特效 // 持续时间(时间过后不会回到原来的样子) // 整个屏幕被分成几行几列 // 晃动的范围 // z轴是否晃动 static Shaky3D* create(float initWithDuration, const Size& …

计数排序+桶排序+基数排序 详讲(思路+图解+代码详解)

文章目录 计数排序桶排序基数排序一、计数排序概念:写法一:写法二: 二、桶排序概念代码 三、基数排序概念1.LSD排序法(最低位优先法)2.MSD排序法(最高位优先法) 基数排序VS基数排序VS桶排序 计数…

Linux:进度条(小程序)以及git三板斧

Linux小程序&#xff1a;进度条 在实现小程序前我们要弄清楚&#xff1a; 1.缓冲区&#xff1b; 2.回车与换行。 缓冲区&#xff1a; 分别用gcc来编译下面两个程序&#xff1a; 程序一&#xff1a; #include <stdio.h> int main() { printf("hello Makefil…

剧情继续:马斯克曝出OpenAI前员工举报信,董事会与奥特曼谈判回归

丰色 发自 凹非寺 量子位 | 公众号QbitAI 经过4天的极限拉扯、反转再反转&#xff0c;奥特曼有可能重新回归了。 据知情人士透露&#xff0c;OpenAI董事会正与奥特曼进行一场“富有成效”的新谈判。 如果奥特曼回到OpenAI&#xff0c;他将继续担任CEO。 与此同时&#xff0c…

【MybatisPlus】简介与使用

MyBatisPlus 1.简介 MyBatisPlus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生 官网&#xff1a;https://baomidou.com/ MyBatis-Plus特性&#xff1a; 无侵入&#xff1a;只…

一文深入理解Linux进程间通信

一、进程间通信的本质 什么是进程间通信&#xff1f;为什么要有进程间通信&#xff1f; 为什么能进程间通信&#xff1f; 1.1 为什么要通信 我们先拿人来做个类比&#xff0c;人与人之间为什么要通信&#xff0c;有两个原因。首先是因为你有和对方沟通的需求&#xff0c;如…

常用的工作资料怎么在电脑上记录呢?

在现代工作中&#xff0c;我们经常需要记录各种各样的工作资料&#xff0c;例如会议记录、项目计划、待办事项等等。传统的纸质笔记本虽然方便携带&#xff0c;但难以整理和检索。而在电脑上直接记录常用的工作资料&#xff0c;在记录、整理、查看、使用等方面都是更为高效、便…

什么是搜索相关性?AI如何驱动搜索相关性?

训练数据驱动机器学习&#xff0c;机器学习促进丰富的人机交互体验。在快速迭代的互联网时代&#xff0c;我们不断被各种广告铺盖&#xff0c;甚至经常细思极恐&#xff0c;“天呐&#xff0c;小红书怎么知道我面膜没了。”这都是算法和机器学习的鬼斧神工洞察着用户的搜索意图…

使用Microsoft Dynamics AX 2012 - 4. 销售和配送

销售和分销的主要职责是为客户提供您的商品和服务。为了完成这项任务&#xff0c;销售和分销需要通过分拣、运输和开具发票来处理销售订单&#xff0c;从而管理客户的材料需求。 销售和配送业务流程 在我们开始详细介绍之前&#xff0c;下面几行概述了销售和配送中的业务流程…

Imaris 卡退,是不是缓存盘没有设置好?

必须记录一下&#xff0c;从Imaris哔哩哔哩官方视频上学到的&#xff0c;如何设置缓存位置&#xff0c;尤其是做3D视频的时候。 但是隔一段时间就忘记&#xff0c;找不到当时的哔哩哔哩视频 这里记一下 如果是空间比较小的C盘&#xff0c;可以改成一个空间大一点的位置。 把缓…

vue3.0 + qiankun遇到的问题

进入子应用再回到主应用切换动态路由时 TypeError: Cannot read properties of undefined (reading ‘appWrapperGetter’) application ‘plat’ died in status UNMOUNTING: instance.$destroy is not a function 第一个报错是因为子应用切走时没有销毁 vue的实例&#xff0…

React中封装echarts图表组件以及自适应窗口变化

文章目录 前言环境代码接口使用效果后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;react.js &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&#xff0c;…

自动化脚本不稳定,原来是软件弹窗惹的祸,2个方法解决!

很多同学在学习 App 自动化或者在项目中落地实践 App 自动化时&#xff0c;会发现编写的自动化脚本无缘无故的执行失败、不稳定。 而导致其问题很大原因是因为应用的各种弹窗&#xff08;升级弹窗、使用过程提示弹窗、评价弹窗等等&#xff09;&#xff0c;比如这样的&#xff…

sizeof和strlen的区别

目录 一、 sizeof 二、 strlen 三、 sizeof 和 strlen的对比 一、 sizeof 在学习操作符的时候&#xff0c;我们学习了 sizeof &#xff0c; sizeof 计算变量所占内存内存空间大小的&#xff0c;单位是字节&#xff0c;如果操作数是类型的话&#xff0c;计算的是使⽤类型创…

No such module ‘FacebookCore‘

在下面的地方添加这个库