空痕博客

使用pyinstaller打包python程序

KongHen02
2月7日发布 /正在检测是否收录...

准备内容

  1. py程序文件main.py(以单文件为例)
  2. 程序图标favicon.ico(如果需要的话),可使用在线生成透明ICO图标生成。
  3. python环境

创建虚拟环境

使用venv库(python3.3以后内置此库)创建虚拟环境

python3 -m venv music
参数描述示例
music虚拟环境名称,修改为自己的虚拟环境名称即可music
# 示例
python3 -m venv music

1.jpg

激活虚拟环境

# Mac
source ./music/bin/activate

# Windows
.\music\scripts\activate

2.jpg

安装pyinstaller

pip install pyinstaller

注意:安装pyinstaller,一定要在虚拟环境中安装,否则打包会丢失库,导致程序无法运行。
3.jpg

安装其他必须库

我编写的程序需要用到requests登其他库,所以需要安装,根据自己的程序按需安装即可。

编写程序

示例文件为main.py,并在虚拟环境并安装必须库。
4.jpg

测试运行

python3 main.py

开始打包

pyinstaller --clean -F -i favicon.ico main.py
参数描述示例
--clean清理历史构建缓存--clean
-F打包为单文件程序-F
-i favicon.ico程序图标,如不需要删除即可-i favicon.ico
main.pypython程序文件main.py

输出以下内容表示打包成功

INFO: Building EXE from EXE-00.toc completed successfully.

5.jpg

打包结果

打包结果程序位于dist目录下,与程序文件同名。
6.jpg

运行测试

7.jpg

退出虚拟环境

deactivate

总结

  1. pyinstaller需要安装的虚拟环境内,不能安装在全局
  2. 使用Mac只能打包为Mac程序,使用Windows只能打包Windows程序

参考

创建虚拟环境的四种方式(venv | pipenv | conda | poetry)

Python pyinstaller打包exe最完整教程

pyinstaller 打包 提示 ModuleNotFoundError: No module named ‘xxx‘

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 收藏
评论 抢沙发
取消
易航博客