[问题] pyinstaller 打包含有 tesseract 的程式

楼主: shihs (shih)   2018-07-22 11:31:37
我在 Windows 7 底下使用 pyinstaller 打包我的程式码。
这个程式码会有读取验证码的功能,所以会用到 pytesseract 这个套件,在使用 image_to_string 这个 function 时会需要 tesseract 。
打包后在其他电脑执行 exe 档时会出现,
TessaractNotFoundError: tesseract is not installer or it's not in your path.
我的解决方法就是下载 tesseract ,然后加入环境变量,就像当初在设定自己电脑那样。
但对于要加环境变量不熟悉的使用者来说好像也蛮麻烦的,而且每次在新的电脑执行就必须要重新设定一次。
不知道是不是有什么方式可以简单一点呢?让使用者只要点两下执行 exe 等就能使用程式了?
谢谢大家。
作者: guaptpan (Gua)   2018-07-22 11:39:00
试试看打包时用-F的参数吗? 因为我之前这样做他也会把import到的东西抓进来
楼主: shihs (shih)   2018-07-22 12:15:00
有耶,我有用-F,也有试过用-p去抓套件的路径,都还是有同样的问题耶...
作者: guaptpan (Gua)   2018-07-22 12:44:00
刚刚看了一下tesseract是额外安装的程式,感觉除非安装tesseract的步骤可以包在程式里面,当初始化时自动帮使用者安装并设定好路径,不然只能请使用者手动输入安装后的位置了?
作者: TakiDog (多奇狗)   2018-07-22 19:50:00
建议让使用者直接安装官方tesseract,会自动设定环境变量再透过subprocess去使用,我自己是这样用 可以跨系统
楼主: shihs (shih)   2018-07-23 01:28:00
谢谢大家!我用了楼上的方法,测试成功!

Links booklink

Contact Us: admin [ a t ] ucptt.com