利用pyinstaller对python源文件打包-常见问题
来源:http://www.tudoupe.com时间:2022-08-02
使用EasyOCR包进行非线性OCR识别的Img2txt已经完成。 py程序在设置了centOS系统中的Python环境并安装了EasyOCR包后,可以在命令行中实现图像文件的OCR识别。
但是,上述方法需要一个安装良好的Python环境的 Centus机器,并安装一个好的 easyocr包,显得稍微麻烦些!使用Pyinstaller包程序,你可以进口img2txt。 py程序被包装为img2txt可执行的程序,它还具有执行它的x的能力(在Windows环境中它是img2txt程序),可以直接复制到一个简单的钱币机 吗?答案是肯定的!
但是,先提前说结论吧?由于在简便的OCR包中使用的大型 pytorch包,所以使用Pyinstaller-F选项包生成一个单独的可执行文件img2txt特别大的,有1.8G之大,运行起来是因为看起来需要做大量的深入学习,所以文件被复制到家庭文件夹(Windows系统中C磁盘上的临时文件夹),所以速度特别的慢。。。有人说,创建一个文件夹而不使用-F选项就更好,后面我就没有再用这个pyinstaller打包了,或者直接使用Python环境生成一个docker以使用offlineocr。。。
但是仍然记录以前的img2txt的 pyinstaller。 py包装很容易犯错误的地方,以及如何处理它们:
首先您需要在 pyinstaller 安装的程序 - packages/pyinstaller/hooks 文件夹中添加新的 hook-easyocr 文件。 py 的内容如下:
不然,就会出现诸如 No such file or directory:'_MExxxxxx' 之类的错误。其实,hooks文件夹包含很多 hook -**安装 packages.py文件,但是由于EasyOCR安装包没有生成相应的钩子文件,因此,无法找到临时文件将会出现错误,从上面可以看到,hook-easyocr. py文件的作用是告诉 pyinstaller包商,当包装时,请“记住”将易于包装模块和数据一起包装。。。
再一个就是,当打包后出现诸如no module found name xxxx错误的情况,这个错误表明 pyinstaller 没有找到 xx 库,然后可以打开相应的例如img2txt.spec文件,将所缺少的库添加到其中的hiddenimports中,如下所示:
在保存该文件之后,不再需要编译 py源文件,只需要编译规格文件:
最后,如果出现诸如
对于这样的错误,可以执行下列命令来修改环境变量:
首先,用 find / -name "libstdc++.so*" 命令查找包含“libstdc++.so”的所有文件;
然后假设其中一个是/home/super/miniconda3/envs/ocrenv/lib/libstdc++。 在这样路径下,使用命令
检查GLIBC是否高于或等于GLIBCXX_3.4.21;
最后,找到以后用:
修改环境变量,这个语句是临时修改环境变量并生效,关机后失效,如果需要永久修改环境变量可以将其添加到~/.bashrc文件中去即可。
下一篇:命令行启动常见问题及解决方案
相关新闻
- 2023-04-16 2台电脑怎么共享(2台电脑怎么共享
- 2023-04-16 主板检测卡代码(电脑主板检测卡代
- 2023-04-16 dnf未响应(dnf未响应老是上不去)
- 2023-04-16 ppoe(pppoe拨号上网)
- 2023-04-16 网速不稳定(网速不稳定是路由器的
- 2023-04-16 wds状态(Wds状态成功)
- 2023-04-16 光标键(光标键不动了怎么办)
- 2023-04-16 电脑提速(电脑提速100倍的方法)
- 2023-04-16 切换用户(切换用户怎么切换回来
- 2023-04-16 数据包是什么(产品数据包是什么
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
