当前位置: 首页 > news >正文

pyinstaller打包教程

这里写目录标题

  • 基础篇
  • 进阶篇

基础篇

  • pyinstaller -F -W main.py // -F 表示打包成一个可执行文件 -W 表示去除黑框
  • pyinstaller -F -w -i ./smile.ico belle.py // 给应用程序加上图标 在Mac上打包要下载.icns格式的图标文件
  • pyinstaller -n=good main.py // 重命名 pyinstaller -n=‘good’ belle.py
  • pyinstaller --clean -y belle.py // 再次打包需要清理之前的缓存并清除临时文件
  • pyinstaller --hidden-import=xxx belle.py // ModuleNotFoundError: No module named xxx (或者直接在入口程序import 该模块,没有安装就需要pip install)

进阶篇

  • 编写批处理文件: 命令行添加到txt文件中,重命名未.bat(mac/linux用.sh)
  • 生成依赖库文件:pipreqs ./ --encoding=utf-8
pip install -r requirements.txt
xxx.bat

可执行文件运行:单文件需要解压相关依赖到(print(sys._MEIPASS))
改变临时文件夹的生成位置——使用–runtime-tmpdir命令就行了


打包资源文件:

import sys
import osdef res_path(relative_path):"""获取资源绝对路径"""try:base_path = sys._MEIPASSexcept Exception:base_path = os.path.abspath(".")return os.path.join(base_path, relative_path)
win.iconbitmap(res_path('./icon.ico'))    # 设置窗口图标pyinstaller -F -w --add-data=img/icon.ico;img belle.py  // 图片
-----------------------------------------------------------------
import os
import sys
import zipfiledef res_path(relative_path):"""获取资源绝对路径"""try:base_path = sys._MEIPASSexcept Exception:base_path = os.path.abspath(".")return os.path.join(base_path, relative_path)# 读取压缩文件
test_zip = zipfile.ZipFile(res_path('test.zip'), 'r')# 返回所有内容
print(test_zip.namelist())# 解压到临时文件夹中
test_zip.extractall(sys._MEIPASS)os.system('pause')pyinstaller -F --add-data=test.zip;. --runtime-tmpdir=. belle.py  // 压缩文件
http://www.lryc.cn/news/580319.html

相关文章:

  • TCP数据的发送和接收
  • 闲庭信步使用SV搭建图像测试平台:第三十一课——基于神经网络的手写数字识别
  • Ubuntu基础(监控重启和查找程序)
  • 模块三:现代C++工程实践(4篇)第一篇《C++模块化开发:从Header-only到CMake模块化》
  • Redis的编译安装
  • LabVIEW电阻率测试
  • LinkedList剖析
  • Kafka消息积压全面解决方案:从应急处理到系统优化
  • idea的使用小技巧,个人向
  • 类图+案例+代码详解:软件设计模式----适配器模式
  • 【电赛培训】运算放大器、滤波器
  • 使用 C++/OpenCV 和 MFCC 构建双重认证智能门禁系统
  • 堆的简单介绍
  • 智链万物:人工智能驱动的产业智能化革命
  • 使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
  • Python(28)Python循环语句指南:从语法糖到CPython字节码的底层探秘
  • 解决el-select数据类型相同但是显示数字的问题
  • 【Project】基于kafka的高可用分布式日志监控与告警系统
  • C#扩展方法全解析:给现有类型插上翅膀的魔法
  • CMake基础:条件判断详解
  • 探索 Ubuntu 上 MongoDB 的安装过程
  • [Cyclone] 哈希算法 | SIMD优化哈希计算 | 大数运算 (Int类)
  • 【大模型】到底什么是Function Calling和MCP,以及和ReAct推理的关系是什么?
  • 若 VSCode 添加到文件夹内右键菜单中显示
  • 03_性能优化:让软件呼吸更顺畅
  • ABB焊接机器人智能节气仪
  • App爬虫工具篇-appium配置
  • AWS WebRTC:通过shell分析viewer端日志文件
  • 查看linux中steam游戏的兼容性
  • 权电阻网络DAC实现电压输出型数模转换Multisim电路仿真——硬件工程师笔记