pyinstaller打包直到成功为止

环境说明:

Python: 3.11.8 

PyInstaller: 6.7.0

包用太新了真的可以遇到各种坑呀!整了我一天,一定要写一篇记录一下,不然都不知道时间都去哪了。我猜能看到这篇的都卡在第五点,因为第五点我试过搜索到的各种方法都没成功

1、出现错误 ModuleNotFoundError: No module named '_distutils_hack'

解决方案:setuptools版本太高,降低点

pip install -i Simple Index setuptools==57.5.0

2、使用命令pyinstaller -F xxxxx.spec无法打出包(不知道是不是我这个pyinstaller版本的问题,我看其他人也能用)

提示:makespec options not valid when a .spec file is given

解决方案:

用spec文件打包就不要加参数了,要配置的内容都在里面配置好就行。或者直接用

pyinstaller [主文件]-p[其他文件1]-p[其他文件2]

 

3、打包成exe文件后,打开exe文件闪退,闪退太快看不到信息

闪退太快了看不到信息怎么办----打开命令行,然后再命令行中输入你的exe文件的地址,像这样:

然后按回车,这样这个程序会依赖于你的这个命令行的窗口来执行(像容器一样),这样就可以看到报错信息。根据报错信息再解决,可能可以跳转到问题5

4、图标没有显示出来

把exe文件从dict中复制出来,就可以显示图片了。放到其它地方也可以显示图片,就是在dict里不行,还没想通为什么

5、打包多个py文件,打包后打开exe,一直提示ModuleNotFoundError: No module named '你自己写的模块'

过程:尝试过不论是用--hidden-import或者-p添加其它py文件,均无法解决

就是为了这个解决方案写的这篇,就是它!!!

解决方案一:

1、打包时不加-F,加 -D,生成一个目录;

2、打包完成后,把自己写的除了主程序外的py文件都复制到打包后的_internal文件夹中。再运行exe文件即可

如果就想打成一个exe文件,看方案二

解决方案二:

打包时加上 -p 文件路径,或者使用spec文件的pathex字段

用于搜索导入的路径列表(比如使用 PYTHONPATH),包括由 --p 选项给出的路径;

 pyinstaller -p D:\003_workspace\pythonExec\tools_exec\to_excel -w -F .\main.py .\xmind_to_xlsx.py

特别鸣谢文章:pyinstaller如何将自己写的py模块一并打包到exe中_pyinstaller 打包软件时,自己编写的模块-CSDN博客下的一个评论,才找到这个尝试方向。

python多文件打包成exe简单过程(利用pyinstaller)_python文件转exe文件连带其他文件打包成exe文件-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值