python开发exe(无GUI)的踩坑笔记

笔者也经常在网上查询信息,但发现很多信息都是照搬,内容甚至有错误,可用性很低.笔者就认为如果要分享就应该把遇到的问题真实的分享出来,让更多同路人少走弯路.节约时间.
觉得这篇文章有帮助的同学可以点个赞!将真有用的信息传递给更多人!

python开发exe(无GUI)的踩坑笔记

pyinstaller 命令

pyinstaller -F-i"E:\Download\124.ico" work.py -p my_logger.py -p work_1.py -p work_2.py --distpath=E:\WORK

打包work.py的exe到E:\WORK

  • -F 后面输入你的主py文件,打包py文件为一个exe

  • -p 导入-F的主py文件的依赖

  • -i 图标,后面输入图标的路径,图片需要时ico格式的

  • --distpath 生成的exe放在哪

  • -D 使用-D就不用-F.-D 将你的主py文件打包为一个文件夹

-D和-F的区别

-F生成的产物:

-D生成的产物:

-D可以显示你开发的exe用了哪些模块

如果你想要加密的你exe

python cryptography

在打包时加上 --key

pyinstaller --key xxx密码xxx

但是具体的效果笔者没有验证

jenkins Execute Windows batch command启动exe后进程被结束

在jenkins的执行脚本的命令的第一行输入

setBUILD_ID=DONTKILLME

此命令意为告诉jenkins这个任务产生的进程不关闭,默认jenkins会在任务结束后关闭jenkins启动的进程.

python exe 中使用多进程无效

报错

D:\WorkSpace\SelfTools>Traceback (most recent call last):
  File "main.py", line 13, in <module>
  File "PyInstaller\hooks\rthooks\pyi_rth_multiprocessing.py", line 50, in _freeze_support
  File "multiprocessing\spawn.py", line 108, in spawn_main
OSError: [WinError 87] 参数错误。
[7700] Failed to execute script 'main' due to unhandled exception!

在Pycharm编辑器中使用多进程没有问题,但是打包为exe后多进程就没法正常使用了.解决方法如下

multiprocessing.freeze_support()

不加这行代码无法在exe中启动多进程,若还是报错说明你有代码在multiprocessing.freeze_support()

之前使用了进程。必须保证multiprocessing.freeze_support()是exe的第一个进程(包括import 其他文件中的进程)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Franciz小测测

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值