forked from iodata999/frxz751113-IPTVzb1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyTwoEXE
91 lines (43 loc) · 3.57 KB
/
pyTwoEXE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
如何将写好的python代码打包成可执行exe文件——组播节目获取Windows程序文件来了
原创 树树2019 医工学习日志 2024-04-28 07:44 重庆 听全文
题外:本公众号记录日常折腾捣鼓事项,包括路由器、iptv、python,当然也会记录写工作事项等等,便于后续追溯,就好比昨晚设置路由器时不小心删除了个插件或者设置错了一个选项,导致无线无法启动,没办法只好恢复默认设置,然而之前设置没有备份,这下很多都需重新设置,包括动态DNS,端口转发,IPTV融合到网路、组播转单播等一系列设置,有的设置就可以直接回溯公众号发的推文进行复盘重设。
回到正题:
我们知道,python代码运行是需要安装python运行环境,同时需要安装代码所调用的依赖库,相应依赖库未安装也会报错。
因此,我们可以直接将写好的python代码转成可执行的exe文件,便于分享。
将Python代码打包成可执行的exe文件有以下几个好处:
1、方便分发:将Python代码打包成exe文件后,可以方便地在没有安装Python解释器的环境中运行,从而简化了代码的分发和部署过程。
2、隐藏源代码:打包成exe文件可以将源代码进行编译和打包,从而可以隐藏源代码,保护知识产权,避免源代码被盗用或修改。
3、提高性能:通过将Python代码打包成exe文件,可以将代码编译成机器码,提高代码的执行效率,减少运行时的解释开销。
4、用户友好:将Python代码打包成exe文件后,用户可以直接双击运行程序,无需安装 Python 解释器或其他依赖库,提升用户体验。
5、跨平台兼容:通过打包成exe文件,可以在不同的操作系统上运行,而不需要考虑 Python 解释器版本和依赖库的兼容性问题。
今天记录一下python代码打包exe过程
一、安装pyinstaller
在cmd运行:pip install pyinstaller,可以选择国内源提高下载速度:
pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple
二、准备需要打包的文件和资源
我们将需要打包的python代码,如udp_iptv3.0.py,rtp目录,exe文件图标文件(可选)保存于同一文件夹下:
图片
三、运行打包程序
运行cmd→cd 所在目录,运行代码pyinstaller -F -c -i iptv.ico udp_iptv3.0.py,#带EXE图标
运行cmd→cd 所在目录,运行代码pyinstaller -F -c udp_iptv3.0.py,#不带EXE图标
-i iptv.ico是exe图标代码,若无则省略,否则报错
参数解释:
-F:参数代表制作独立的可执行程序。
-w:是指程序启动的时候不会打开命令行。如果不加-w的参数,就会有黑洞洞的控制台窗口出来。
-c:是指程序启动的时候会打开跑代码窗口。
-i:指定图标资源。
cmd进入存放目录,运行pyinstaller -F -c -i iptv.ico udp_iptv3.0.py
图片
然后等着编译完成:
图片
完成后在原文件夹下生成一个dist文件夹
图片
dist文件夹下就是生成的可执行文件udp_iptv3.0.exe,大小有近70mb:
图片
四、测试可执行文件是否成功
我们把rtp文件夹和可执行文件存放同一文件夹,然后运行udp_iptv3.0.exe
图片
因为没有代码窗口,运行后看不到进度,需耐心等待节目表生成。
如增加地区运营商,则参照现有地区组播地址文件命名文件名和文件内容
具体详见上篇文章使用相关说明:
最后更新代码:如何利用python爬取暴露在网络中的组播节目并自动测试保存