首页 > 编程语言 >PyCharme使用Pyinstaller打包exe程序闪退,提示no module named ****(项目在PyCharme正常运行)

PyCharme使用Pyinstaller打包exe程序闪退,提示no module named ****(项目在PyCharme正常运行)

时间:2023-02-27 09:45:37浏览次数:32  
标签:named exe pyinstaller no module PyCharme import 打包

应用 版本
Python 3.10.2
pip 21.3.1

背景

使用Pycharme开发了一个小功能使用pandas读取excel中的内容requeste提交到网站,调试成功后使用Pyinstaller打包,执行打包文件直接闪退,先找方法看到提示

排查错误

闪退有可能是程序执行完成控制台退出,或者报错程序退出,我这边在结尾有input(),所以应该是程序执行出错了,调试的时候明明没问题了打个包反而出错了很神奇

想方法让控制台不退出查看具体报错

进入到可执行文件所在目录在控制台中执行exe
image
image

执行后发现具体原因,居然在第一行import pandas,提示no module named pandas,真的很神奇,为什么没打包进去,根据提示查了大量的帖子,解决方法都是一样的,方法就两种,1.修改第一次打包生成的main.spec文件2.打包时使用--hidden-import参数,我最后是通过第二种方法成功的,但过程异常的曲折

解决过程

image
查看项目中这些包我都是有的,打包时我使用的项目中的pyinstaller,调用时写的绝对路径,但通过修改.spe和在编译时加入--hidden-import参数单独说明模块都不行,编译出来的可执行文件在前几行的import xxx报错,提示缺少模块,no module named
image

使用pip安装pyinstaller进行打包(最后打包成功)

pip install pyinstaller -i https://pypi.mirrors.ustc.edu.cn/simple/
-i指定下载的源(我网上找的某个大学的)
image
之后使用系统中的pyinstaller进行打包,打包过程中就提示no module named,应该是不能使用项目中的包,使用pip将所有引入的包都单独install一次,最后使用hidden-import进行打包,打包完成程序执行成功
pyinstaller.exe -c .\main.py --hidden-import 'pandas','requests','openpyxl'
image

很多帖子都之说了两个方法,我怎么弄都打包不进去,到最后还没弄清楚项目中的第三方模块打包为什么就不行

标签:named,exe,pyinstaller,no,module,PyCharme,import,打包
From: https://www.cnblogs.com/wxwbblog/p/17152677.html

相关文章