一、pyinstaller 使用方法
1.安装 pyinstaller 包
在终端(.py文件所在环境的终端)安装 pyinstaller 包
pip install pyinstaller
pyinstaller可以打包python程序变为exe,像其他程序一样,让其可以在任何windows下正常运行而无需python的解析。
注意:打包 .py 文件时,会自动将被打包的 .py 文件的相关依赖模块(import,from..import)一起打包。
2.pyinstaller有很多参数,可以用-h或--help参数查看帮助
pyinstaller -h
3.将.py文件打包为多个文件(一个目录):-D 或 --onedir
pyinstaller -D app.py # 其中app.py为你的.py代码名字
pyinstaller --onedir app.py # 其中app.py为你的.py代码名字
pyinstaller -D app.py -n xxx # 其中app.py为你的.py代码名字; xxx 为打包时设置的软件名字
执行上面命令,将看到详细的生成过程。当生成完成后,将会在此 app 目录下看到多了3个文件build、 dist 、app.spec,其中在dist目录下看到有一个 app.exe 文件,这就是使用 PyInstaller 工具生成的 EXE 程序。
4.将.py文件打包为单个文件:-F 或 --onefile
pyinstaller -F app.py # 其中 app.py 为你的.py代码名字
pyinstaller --onefile app.py # 其中 app.py 为你的.py代码名字
pyinstaller -F app.py -n xxx # 其中app.py为你的.py代码名字; xxx 为打包时设置的软件名字
注意:打包为单个文件时,在运行.exe文件时可能会发生文件路径错误:打包为的单个文件在运行时会将文件自动解压在操作系统Windows的临时目录下面,导致文件路径出错。
解决方法:
- sys.argv
- frozen
5.创建窗口应用程序,而不是控制台应用程序:-w 或 --noconsole
在GUI界面时非常有用,表示去掉控制台窗口
6.打包生成的exe文件以控制台应用程序形式运行:-c
而不是以图形界面应用程序的形式运行,打包时根据需要选择5和6
7.其他参数可通过 -h或--help 参数查看帮助
二、安装虚拟环境
因为 pyinstaller 打包方法是将被打包的.py文件所处的虚拟环境中所有的数据(包)一起打包,所以可能导致打包成的exe程序非常大,因此可以另外单独为需要打包的软件创建一个虚拟环境,在新创的虚拟环境中只安装需要使用的包,从而缩小exe程序文件的大小。
1.创建虚拟环境
conda create --name xxx python=3.7 # name为环境名称,3.7为python的版本号
2.激活虚拟环境(即进入创建好的环境)
conda activate name # name为环境名
3.删除虚拟环境
conda remove -n env_name --all # 删除名称为env_name 的虚拟环境
4.关闭当前虚拟环境(即退出当前环境)
conda deactivate # 关闭当前虚拟环境
5.安装程序需要使用的第三方库
可以使用镜像源代码加快安装速度