关于使用 pyinstaller 打包项目时,所抛出的关于 no module.... 。暴力解法 #11342
Replies: 7 comments 1 reply
-
2024年3月4日實測方法有效, 謝謝. |
Beta Was this translation helpful? Give feedback.
-
2024.3.27, 亲测有效, 另外如果打包后运行出现 YOUR_PYTHON_PATH/site-packages/paddle/fluid/core.py
|
Beta Was this translation helpful? Give feedback.
-
2024.7.17实测有效, 太感谢了 |
Beta Was this translation helpful? Give feedback.
-
2024/7/25实测有效 |
Beta Was this translation helpful? Give feedback.
-
Working Solution (08.08.2024) if an error exists in
|
Beta Was this translation helpful? Give feedback.
-
亲测有效,本人菜鸟水品,也是少哪个就复制哪个。 |
Beta Was this translation helpful? Give feedback.
-
2024/7/25实测有效,强! |
Beta Was this translation helpful? Give feedback.
-
简单的几个坑
仅供参考,本人python熟练程度仅限于菜鸟教程。
导入模块的错误
1. 使用默认打包 pyinstaller.exe -D .\main.py
main.exe启动后抛出了异常
问题查找:发现 pyinstaller 没有 把paddleOcr打包。
在issue上面查找了一番,发现官方描述是在打包命令后面加上 --collect-all paddleocr
还有其他参数,但是暂时不顶用解决办法:打包命令换成 pyinstaller.exe -D .\main.py --collect-all paddleocr
2. 执行错误一解决办法后,启动后又报错
错误查找:没找到模块。
一脸摸逼,这不是paddleocr 模块的内容吗?解决办法: 打包命令接着加 pyinstaller.exe -D .\main.py --collect-all paddleocr --collect-all pyclipper
3.执行错误二解决后,启动后又报错。
发现是同样的错误,直接按照错误二解决。
继续错误二解法,解决
继续抛出没引入模块错误,继续错误二解法,解决
继续,错误二解法,解决
继续,错误二解决
最终打包的命令,暴力解法
pyinstaller.exe -D .\main.py --collect-all paddleocr --collect-all pyclipper --collect-all imghdr --collect-all skimage --collect-all imgaug --collect-all scipy.io --collect-all lmdb
新错误
1.关于模型路径问题
2. .dll库 文件也没有打包进去
问题查找:发现 issue 已经有人解决过了,直接照抄
解决办法: 把 python 虚拟环境中的依赖项 paddle -> libs 文件夹内的文件 复制一份,粘贴到打包的项目的 paddle -> libs 文件夹内,全部替换即可
(题外话,我也不清楚为什么会这样)
打开打包后的 paddle 文件夹,可以发现 libs 文件夹下的文件比开发依赖项 paddle文件夹下的libs 文件要少
重新运行,成功。✿✿ヽ(°▽°)ノ✿
Beta Was this translation helpful? Give feedback.
All reactions