利用pyinstaller工具将Python脚本打包生成exe文件
很多时候,我们在自己电脑上用Python写了一个小程序,想要分享给其他人,可是对方电脑又没有Python环境。这个时候,就可以把你的程序打包成一个exe文件,然后就可以愉快地在他人电脑上运行了。
打包的方法,网上很多,目前主流的是用pyinstaller。值得注意的是,pyinstaller不是一个python包,不需要使用import导入。只需安装之后,在命令行中使用命令即可打包。
安装方式:
pip install pyinstaller
打包方式:
pyinstaller -F 你的脚本名称.py
-F指将源程序打包成一个单独的exe文件,我喜欢这样做。
此外,还有其他参数,如:-d/-c/-w等,你可以使用:
pyinstaller -h
来查看各种参数及其作用。
下面讲一下我的一个实例。
我写了一个随机事件的小程序,打包成exe文件,经过漫长的打包过程,终于完成了,结果发现短短几行代码打包出来竟然有200多M大小!
这绝对不科学!
仔细看了看脚本中导入的几个包,发现问题可能出在导入的包上:
为了实现随机取数,我一开始用了NumPy包中的random。而NumPy这个包是很大的!
然后,替换为了一个轻量级随机包:random。
再次打包,结果生成的exe文件大小降为了6M,而且打包过程飞快!
可见:pyinstaller在打包时,会把你所导入的包及其依赖都一起打包进exe中,以便于在其他电脑上运行。因此,我们写源程序时应尽量避免使用较大的包,多用轻量级的方式完成所需功能!
现附上我写的一个小程序:《拯救纠结症患者》。
import time
import os
import random
def clear():os.system('cls')
print("===================== 拯救纠结症患者 ============================")
print("使用说明:\n1、指定候选项个数\n2、依次输入每个个选项的内容\n3、程序替你选择一个答案~\n")
while 1:
flag=0
while flag ==0:
try:
num = int(input("你有多少个选择需要纠结:"))
flag=1
except:
print('输入格式错误,重新输入!')
choices=[]
for i in range(num):
print('请输入选项',i+1,": ",end='')
choices.append(input())
ch=random.randint(0,2)
print("程序正在纠结")
for i in [0,1,2,3,4]:
time.sleep(0.5)
print(" 。")
print ('')
clear()
print("程序经过纠结,替你选择了: "+choices[ch])
print("================================================================")
while 1:
print("输入数字,选择下一步操作:\n1、我还有一个新的纠结\n2、退出程序")
j = input("输入1或2:")
if j=='1' or j=='2':
break
else:
continue
if j=='1':
continue
else:
break
print('正在退出,期待下次为您纠结!')
time.sleep(3)
打包后的exe文件可以下载试用:
链接: https://pan.baidu.com/s/1IudWMqz8meInTKfBvXK6Eg 密码: 7hrc
大家有什么疑问或者有什么好的想法,欢迎讨论!
上一篇: 男人有这五种品性易造就出轨女人
下一篇: 手术机器人 精确做手术赛过老大夫
推荐阅读
-
Java利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理
-
利用pyinstaller将py文件打包为exe的方法
-
将Python脚本打包成exe文件
-
利用pyinstaller工具将Python脚本打包生成exe文件
-
Windows pyinstaller将python文件打包成可执行文件exe
-
将python程序打包成.exe可执行文件,生成安装包
-
Java利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理
-
python3.6 利用pyinstaller将py文件转为exe
-
Python:pyinstaller如何将一个项目的.py和相关资源文件打包生成.exe文件
-
利用Pyinstaller将python代码打包生成exe文件(windows环境下)