hiroi-sora / Umi-OCR_v2

结束和新的开始
MIT License
915 stars 69 forks source link

启动报python3.dll错误 #21

Closed StrollStars closed 8 months ago

StrollStars commented 9 months ago

64位Win7,启动程序报如下错误:

> ---------------------------
ERROR
---------------------------
Cannot find Py_Main() in:

\Umi-OCR_Rapid_win7_dev_20230925\UmiOCR-data\.runtime\python3.dll
---------------------------
确定   
---------------------------
hiroi-sora commented 9 months ago

解决方法见楼下

hiroi-sora commented 9 months ago

我在一个早期 win7 x64 的虚拟机上重现了该错误。经过排查,发现是缺VC运行库的问题。

解决方法:

  1. 下载安装VC运行库 https://aka.ms/vs/17/release/vc_redist.x64.exe

  2. 尝试启动软件。如果显卡驱动正常,此时能正确打开软件并使用Rapid引擎进行离线OCR了。

  3. 如果出现 Umi-OCR.exe 已停止工作 的弹窗,说明显卡驱动不全。(如果该系统之前没有VC运行库,大概率显卡驱动也是不全的。)那么请按照 issue #22 的方法,下载 opengl32sw.zip,然后修改设置项为 AA_UseSoftwareOpenGL 。

经过上述操作,大概率可以让Umi跑起来了。

StrollStars commented 9 months ago

@hiroi-sora 安装了运行库(32位和64位都装了),还是报一样的错误。

hiroi-sora commented 9 months ago

去到 UmiOCR-data\.runtime ,直接点击启动 python.exe ,看看有无异常?报什么错?

StrollStars commented 9 months ago

@hiroi-sora 完全正常,会不会是和原有的Python冲突了,也就是说程序可能调用了原有的(加入了环境变量)而不是Umi-OCR自带的? 但是我原有的直接点击启动python.exe也是完全正常,两者版本号都相同(3.8.10),唯一的区别是原有的是64位,Umi-OCR自带的是32位。

hiroi-sora commented 9 months ago

不可能和原有py冲突的,启动器根本不认识环境变量中的py,它只会试图调用Umi目录中自带的py。

如果你说直接点击运行 UmiOCR-data\.runtime\python.exe 完全正常,那这是个好消息。请尝试以下方法,跳过启动器,直接唤起py:

在目录 UmiOCR-data 中新建一个 启动.bat ,输入:

start "" .runtime/python.exe main.py

双击 启动.bat ,看看能否启动Umi-OCR。

StrollStars commented 9 months ago

@hiroi-sora CLI第一行显示翻译未加载,不过GUI启动了。 启动的GUI可以使用截图OCR,但是如果把该标签页关闭了,就无法再次打开,也就无法截图了,CLI中显示WinError 31和一串问号的错误。 重新运行启动.bat后可以再次使用,情况如上。

hiroi-sora commented 9 months ago

翻译未加载 是正常的,截图标签页无法再次开启就不正常。

可以的话,麻烦将遇到过的所有错误复制下来或者截图下来,发到这里,我会进一步调查。

系统详细信息也发一下,按win+r,输入msinfo32 ,将窗口放到最大,截个图。

感谢协助!

另外,昨天发布的 v1.3.7版 也支持win7了,你可以试试老版本在你的电脑上能否正常使用。

StrollStars commented 9 months ago

@hiroi-sora

v1.3.7版

运行毫无问题。

预览版 dev 20231010

系统信息

系统信息

命令行1

CLI1

说明
  1. 启动.bat方式启动,因为直接运行Umi-OCR.exe报错。
  2. 两个ScreenshotOCR_1之间是第一次打开截图OCR,没做任何操作后关闭标签页。
  3. ScreenshotOCR_2%paste%之间是第二次打开截图OCR,进行截图操作后关闭标签页。
  4. %paste%之下是再次点击截图OCR,无法打开标签页了,但如果不做截图操作就没问题。
    补充
  5. opengl32sw.dll是OpenGL相关,缺失没关系吧?
  6. 是不是因为测试版所以会有CLI界面?
  7. 为什么我CLI中每个汉字都会重复?

    命令行2

    CLI2

    说明
  8. 不关闭截图OCR标签页进行截图操作。
  9. 控制器剩余`之间是第一次截图操作,一切正常。
  10. file开始是第二次截图操作,无法进行。
    补充
  11. 2代比1代强,体积缩减1/2,还不用手动选择语言。
  12. 测试日语识别效果,目前2代还不如1代。
hiroi-sora commented 8 months ago

感谢你的测试。

然后v2在你的电脑上主要存在2个问题:

  1. 无法通过启动器Umi-OCR.exe启动,只能通过bat启动。(正常通过exe启动是不会有CLI的,用bat才会有CLI。)
  2. 第二次截图操作会出现WinError 31的报错。

关于问题1,我暂时没有头绪,需要掌握更多信息才能判断。如果有别的用户有相同问题,请务必反馈,找找你们的共性。

关于问题2,确实有可能由opengl32sw.dll缺失引起。

关于补充:

StrollStars commented 8 months ago

@hiroi-sora 关于WinError 31错误,我把opengl32sw.zip中的两个文件都放入了UmiOCR-data/site-packages/PySide2/,但是问题依旧存在。 之前试的是Rapid版,这回还是在这个版本上面测试,选择语言后发现识别很准确,估计引擎只影响系统占用和速度,和效果无关吧? PS:我先前没注意到要选择语言,但要是碰到混合语言是不是就只能分开来识别了?

hiroi-sora commented 8 months ago

Paddle和Rapid引擎在图像前处理阶段有一些差别,可能导致对同一张图片产生不同的识别效果。但总体而言差别不会很大。

是的,目前没有OCR库可以很好的实现混合多语言识别。最多做到英文+另1种语言。可见这里的讨论:

https://github.com/hiroi-sora/PaddleOCR-json/issues/75

StrollStars commented 8 months ago

@hiroi-sora 感谢帮我耐心测试,我先用其他版本好了。 如果是英文+另1种语言,那选择识别语言的时候是选择英文还是另1种语言?

hiroi-sora commented 8 months ago

不是,意思是大多数语言库(如简中,繁中,日文……)它们都自带英文识别。

不过,它们对长篇英文段落的识别效果,可能没有纯英文库好。

StrollStars commented 8 months ago

@hiroi-sora 那这么说来识别语言的时候是应该选择另一种语言了。 我发现对日文的识别以及综合识别,V2效果比V1要好,现在主要的两个问题:启动和连续识别,希望能够优先解决后面那个。 对于后者,V1使用过程中HIPS会提示访问剪贴板,但是V2没有,我在HIPS中对V2的访问剪贴板进行放行,好像不影响结果。 PS1:第一次是正常的,第二次就不行,是不是第一次哪里占位了导致第二次无法进行? PS2:一次截图后,再次截图和OCR的标签页无法打开,但是全局设置的标签页是能打开的。

hiroi-sora commented 8 months ago

问题1有了初步的解决方案:强制启动,并隐藏控制台。 https://github.com/hiroi-sora/Umi-OCR/issues/208#issuecomment-1774469732

问题2仍无解……

StrollStars commented 8 months ago

@hiroi-sora 感谢开发者持续关注,我删除了系统中的Python环境变量,并重新部署了Python。

  1. 下载预览版 dev 20231010测试,发现问题依旧。
  2. 将上述删除,下载预览版 dev 20231018,运行Umi-OCR.exe问题依旧,但运行test_run.bat可以启动。
  3. 下载umiocr.zip并放入Umi-OCR.exe同目录下,运行正常,第一次截图正常,后续截图以及截图标签页关闭后再打开也正常,也就是说两个问题都解决了……
hiroi-sora commented 8 months ago

之后的版本中 ,如果 Umi-OCR.exe 失效,可以用备用启动器:

UmiOCR-data/RUN_GUI.bat

它以最大兼容性启动软件,且不显示控制台窗口。

StrollStars commented 8 months ago

@hiroi-sora 预览版 dev 20231025运行Umi-OCR.exe并连续截图没有问题,感谢开发者。