pyinstaller坑点解决no module named xxx(failed to execute script test)

问题先上图,本人自己写了一个操作mysql的界面系统,但是打包中出现了很多的问题,打包好的exe程序运行时报错如下,从网上搜索了很多方法都不管用,很多文章答案同出一辙没有实际操作性,就算解决了问题也只是运气原因,本文将记录本人遇见问题到解决问题的整个思路。

首先简单介绍下pyinstaller的基础使用,这里我使用如下命令安装:

pip3 install pyinstaller

pyinstaller -F *.py  #打包成一个exe文件

pyinstaller -F -w *.py  #打包好的exe文件,启动时不显示cmd命令行

pyinstaller -F -w *.py -p dir #导入路径

起初我单纯的以为是环境没配好等问题,网上搜索解决方案也是五花八门,一一尝试都没有作用,于是开始自行摸索,首先是打包好运行时会闪退,我们将-w命令去掉,闪退的一瞬间截图命令行所出现的报错内容,可得知是mysqldb包没有搜索到。

之后从这个问题角度开始深入,是什么原因导致了mysqldb包没有导入,那只有一个可能,pyinstaller作为一个打包模块,并不会十分智能去加载所有模组,通过查看pyinstaller官方给出的各参数可以发现,其中有导入路径的参数,动了动小脑袋瓜子想到可行性,于时我便尝试找到mysqldb的路径,添加在-p命令之后。

参数详情见官网:

https://pyinstaller.readthedocs.io/en/v3.3.1/usage.html

可惜可惜还是没成功,但是此时此刻我又想到了另一种可能性,在python中操作mysql的模组有很多,或许是mysqldb自己的原因导致了失败,于时我换成了pymysql模组,再次尝试,终于功夫不负有心人,我成功了!

在此查看pymysql模组所在目录

pyinstaller -F -w main.py -p C:\Users\22798\AppData\Local\Programs\Python\Python37\Lib\site-packages

打包所生成的exe文件自动存放在项目文件夹中的dist目录下

双击成功运行,问题解决

一个致力于改善csdn原创环境的菜鸟。

欢迎评论交流,宝贝们点点赞!

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
回答: 根据引用\[1\]中的描述,你在使用pyinstaller打包时遇到了一个ModuleNotFoundError: No module named 'fitz.frontend'的错误。这个错误是由于在你的venv环境中没有安装名为'fitz.frontend'的模块所导致的。根据引用\[2\]中的描述,你可能还遇到了其他的模块导入错误,比如'pandas._libs.tslibs.base'。这些错误通常是由于在venv环境中缺少相应的模块导致的。为了解决这个问题,你可以尝试在venv环境中使用pip install命令安装缺少的模块,比如pip install fitz.frontend和pip install pandas。另外,你还可以参考引用\[3\]中的描述,创建一个全新的venv环境,并确保在该环境中安装了所有需要的模块。这样应该能够解决你遇到的模块导入错误问题。 #### 引用[.reference_title] - *1* *3* [pyinstaller 打包 提示 ModuleNotFoundError: No module namedxxx](https://blog.csdn.net/bigcarp/article/details/116545037)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Pyinstaller 打包报错 ModuleNotFoundError: No module named ‘pandas._libs.tslibs.base](https://blog.csdn.net/m0_37694033/article/details/124206493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值