在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:scr2txt开源软件地址:https://gitee.com/lazytech_group/scr2txt开源软件介绍:scr2txt介绍通过截屏快速实现图片转文字、图片转表格,基于百度飞桨paddleocr 软件架构py3.7 实现,基于百度飞桨paddleocr平台,主要采用
直接下载
使用说明解压缩后,直接运行src2txt.exe
安装教程
其他注意事项pyinstall 打包问题总结
matplotlib报错,通过 --exclude 屏蔽matplotlib(我的项目不用)资源找不到,通过打包 --add-binary --add-data 解决 pyinstaller -D -w --clean --exclude matplotlib -p C:\Anaconda2\envs\paddleocr\Lib\site-packages\paddleocr;C:\Anaconda2\envs\paddleocr\Lib\site-packages\paddle\libs textshot.py -i textshot.ico --add-binary C:\Anaconda2\envs\paddleocr\Lib\site-packages\paddle\libs;. --add-data C:\opencode\ocr\textshot_paddle\model;.\model --additional-hooks-dir=.
经过多次排除法尝试,只要存在以下语句"from paddleocr import PaddleOCR"就会导致进程不停启动通过命令行运行打包进程“txt.exe", 手动强杀进程(Ctrl+C)发现以下报错: c:\opencode\ocr\textshot_paddle>C:\opencode\ocr\textshot_paddle\dist\txt\txt.exeTraceback (most recent call last): File "txt.py", line 200, in <module> out, err = import_cv2_proc.communicate() File "subprocess.py", line 964, in communicate File "subprocess.py", line 1296, in _communicate File "threading.py", line 1044, in join File "threading.py", line 1060, in _wait_for_tstate_lockKeyboardInterrupt[448] Failed to execute script txt 于是查看 paddle\dataset\image.py 代码,发现200行如下 if six.PY3: import subprocess import sys import_cv2_proc = subprocess.Popen( [sys.executable, "-c", "import cv2"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = import_cv2_proc.communicate() retcode = import_cv2_proc.poll() if retcode != 0: cv2 = None else: import cv2else: try: import cv2 except ImportError: cv2 = None 然后根据pyinstaller issue帖子4067和4110分析,怀疑subprocess.Popen导致问题于是写测试程序,打包测试 import ioimport osimport sysimport subprocessimport sysimport_cv2_proc = subprocess.Popen([sys.executable, "-c", "import cv2"],stdout=subprocess.PIPE,stderr=subprocess.PIPE)out, err = import_cv2_proc.communicate()retcode = import_cv2_proc.poll()if retcode != 0: cv2 = Noneelse: import cv2 #from paddleocr import PaddleOCRif __name__ == "__main__": print ("is ok!!!!!!!!!!!!!!!!!") args = input('input where you think:') print (args) 果然,重现问题,无线启动新进程。
解决方案简单粗暴,修改image.py 39行开始代码,屏蔽subprocess调用 # if six.PY3:# import subprocess# import sys# import_cv2_proc = subprocess.Popen(# [sys.executable, "-c", "import cv2"],# stdout=subprocess.PIPE,# stderr=subprocess.PIPE)# out, err = import_cv2_proc.communicate()# retcode = import_cv2_proc.poll()# if retcode != 0:# cv2 = None# else:# import cv2# else:# try:# import cv2# except ImportError:# cv2 = Nonetry: import cv2except ImportError: cv2 = None 问题解决。 如果本软件对你有用,请多多支持,这将使我有更有动力不断完善,谢谢!
全部评论
专题导读
上一篇:YOLO_v3_tensorflow: tensorflow实现 YOLO v3目标检测算法(可fine-tuning) ...发布时间:2022-03-24下一篇:facelog: 人脸识别验证的跨平台跨语言的应用服务开发框架,本项目并不涉及具体的人脸 ...发布时间:2022-03-24热门推荐
热门话题
阅读排行榜
|
请发表评论