关于使用 pyinstaller 打包项目时,所抛出的关于 no module.... 。暴力解法 #11342
chenzhiron
started this conversation in
Ideas & Features
Replies: 2 comments
-
2024年3月4日實測方法有效, 謝謝. |
Beta Was this translation helpful? Give feedback.
0 replies
-
2024.3.27, 亲测有效, 另外如果打包后运行出现 YOUR_PYTHON_PATH/site-packages/paddle/fluid/core.py
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
简单的几个坑
仅供参考,本人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 已经有人解决过了,直接照抄
![image](https://private-user-images.githubusercontent.com/84846150/287950694-f5541f7d-2d7b-442f-879b-f5822eeda3b9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5MTM3NjQsIm5iZiI6MTcxODkxMzQ2NCwicGF0aCI6Ii84NDg0NjE1MC8yODc5NTA2OTQtZjU1NDFmN2QtMmQ3Yi00NDJmLTg3OWItZjU4MjJlZWRhM2I5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIwVDE5NTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZhM2NmY2FhYjA5NjViMzJlNDUwNDA3NzljNTgwNjEwODlkMzViN2NkNzViNTEzZWQxMDMxMTdmMjBiYTlmZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Ctcz9Fyr1vg-gXwQeo6mRFHVLPzub0L6kUa7shP4vbI)
![image](https://private-user-images.githubusercontent.com/84846150/287951012-937a27f3-db3c-41a4-a958-14e2a89b804b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5MTM3NjQsIm5iZiI6MTcxODkxMzQ2NCwicGF0aCI6Ii84NDg0NjE1MC8yODc5NTEwMTItOTM3YTI3ZjMtZGIzYy00MWE0LWE5NTgtMTRlMmE4OWI4MDRiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIwVDE5NTc0NFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY3YzdiMzBkMmRiODAxOWNkNDJkNWRiNThhM2Y1MDZiYTM0Y2E4OGYwY2U4YmNiN2MxNGUwY2ZiYWM3ZDNiNGImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.REu6afzU_20BR3-sr_AuAdY2RfqHlGhpIUABLK-8Prc)
解决办法: 把 python 虚拟环境中的依赖项 paddle -> libs 文件夹内的文件 复制一份,粘贴到打包的项目的 paddle -> libs 文件夹内,全部替换即可
(题外话,我也不清楚为什么会这样)
打开打包后的 paddle 文件夹,可以发现 libs 文件夹下的文件比开发依赖项 paddle文件夹下的libs 文件要少
重新运行,成功。✿✿ヽ(°▽°)ノ✿
Beta Was this translation helpful? Give feedback.
All reactions