本文一步一步地教你如何将Python程序打包成exe文件—赶紧进来学习吧_程序员老华的博客-CSDN博客_如何将python打包成exe
【Python打包成exe】快速将多个py文件及其他文件打包为exe可执行文件_Neo很努力的博客-CSDN博客_多个python文件打包成exe
本文简述如何将单个python文件、多个文件打包成exe可执行文件、带参数exe打包及调用方式
目录
1、为何需要打包?
C、C++等语言需要编译后再运行,编译可以产生exe文件,是一种可执行文件(executable file)。而Python是解释性语言,本质是对一段文本进行解释,类似于浏览器解析html文档,不能产生exe文件。
运行python程序需先配置python环境,当项目组成员想调用python代码而未安装环境时,可以将python程序打包为exe可执行文件,这样就可以直接调用并愉快地运行啦~
2、如何打包?
(1)单个文件的打包步骤
conda activate env_name # 激活虚拟环境
pip install Pyinstaller # 安装pyinstaller模块
cd E:\filename # 切换到.py文件所在目录下
Pyinstaller -F -w test.py # 打包python文件
注:Pyinstaller需要pip下载,-F是对一个python文件打包,-w是运行时不出现黑色窗口的。
经过以上步骤, 打包成功后,会在目录下产生dist文件夹,exe文件就在里面保存~
(2)多个文件的打包步骤
举个栗子:将以下文件进行打包。
先将主文件main.py和其他python文件(f1.py、f2.py)放在一级文件夹./zgj_Project下,然后其他类型文件(csv\dat\jpg\mat\png\txt\xlsx等)统一放在二级文件夹file下。
step 1. 下载安装Pyinstaller
pip install Pyinstaller
step 2. 对主文件main.py进行转换,生成.spec的安装配置文件
pyi-makespec main.py
执行后,会在当前文件夹生成main.spec文件! 支持对可执行文件进行配置!
step 3. 配置.spec文件
记事本打开main.spec文件,如下:
配置文件和静态资源,具体如下:
a) 编辑Analysis:将所用需要打包py文件都写上,如:主文件main.py和其他python文件(f1.py、f2.py)
b)编辑datas:加入所有静态资源,将其他文件的存放路径写到这里(除py文件),此处一共有两个参数,第一个参数是文件的存放路径,第二个参数是文件存放的文件夹。
如:
datas=[(r'E:\zgj_Project\file', 'file')]
#注:文件夹名一定要和存放路径里的相同,这样两个参数才可以成功组成完成路径。
# 路径前加r标识路径
# 如有别的文件需打包,则继续添加,每组分别用括号括起来即可
c)exe文件的图标,记住图标用绝对路径。
d)如果自己写有界面,不需要黑色窗口,需将spec文件中的console=true 改为console = False
step 4. 打包生成exe文件
Pyinstaller -F -w main.spec
dist文件夹中找exe文件喽~
(3)带参数打包步骤
import sys
arg1 = sys.argv[1]
arg2 = sys.argv[2]
print(arg1)
print(arg2)
# 注:sys.argv[0]为pyton文件名字,后面是参数
常规运行 命令:python test.py arg1 arg2
打包完成后运行 命令:test.exe arg1 arg2
打包完成后运行并获得print输出 命令:output=os.popen('path\test.exe' arg1 arg2).read()
(4)举个例子:传入保存指定的路径(参数),并调用
# 传入保存指定的路径,并调用
#step 1: 在test.py中添加代码:
import sys
data_path = sys.argv[1]
print(data_path)
# cmd终端运行
python test.py E:\output
# 打包后运行
test.exe E:\output