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

如何使用Pyinstaller 生成整包可执行文件

如何使用Pyinstaller 生成整包可执行文件
1、安装 PyInstaller
pip install pyinstaller
2、修改代码以正确加载资源文件
使用 sys._MEIPASS 访问打包后的资源文件
在代码中,通过 sys._MEIPASS 获取资源文件的路径。例如:
import sys
import os

	def resource_path(relative_path):
	    """ 获取资源的绝对路径 """
	    if hasattr(sys, '_MEIPASS'):
	        # 打包后的资源路径
	        base_path = sys._MEIPASS
	    else:
	        # 开发时的资源路径
	        base_path = os.path.abspath(".")
	    return os.path.join(base_path, relative_path)

3、使用 PyInstaller 打包
pyinstaller --onefile --add-data “data/;data" --add-data "config/;config” main.py

4、查找生成的可执行文件
打包完成后,生成的可执行文件会出现在 dist 目录下
dist/main.exe

注意事项:
1、隐藏控制台窗口:如果你的程序是图形界面应用,可以使用 --noconsole 参数隐藏控制台窗口:
pyinstaller --onefile --noconsole --add-data “data/;data" --add-data "config/;config” main.py
2、有时 PyInstaller 无法自动检测到某些模块的依赖关系。你可以通过 --hidden-import 参数显式指定需要导入的模块。对于 json 模块,可以尝试
1、pyinstaller --onefile --hidden-import=json your_script.py
2、pyinstaller --onefile --hidden-import=json --hidden-import=missing_module1 --hidden-import=missing_module2 your_script.py
3、跨平台打包不一致

最终PyInstaller的打包语句为:
pyinstaller --onefile --add-data “data/;data" --add-data "config/;config” --hidden-import=json --hidden-import=missing_module1 --hidden-import=missing_module2 your_script.py

相关文章:

  • 【NLP】循环神经网络RNN
  • Java 后端开发:如何提取请求头中的 Cookie 和身份验证 Token
  • Qt QOpenGLWidget详解
  • 示例代码:C# MQTTS双向认证(客户端)(服务器EMQX)
  • 【Elasticsearch】多字段查询方式汇总
  • 【VS2022】创建本地仓库,开启Git管理控制
  • 笔记8——模式匹配 match语句(仅在Python 3.10及以上版本中可用)
  • Qt工作总结03 <qSort按某一属性进行排序>
  • SpringAI集成DeepSeek实战
  • 【Linux网络-网络基础】计算机网络背景+协议+OSI七层模型
  • 解释 Git 的基本概念和使用方式。
  • 渗透利器:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)
  • 2025前端面试题超全面解析(附答案与深度扩展)
  • PicoShare实操:轻松实现远程文件共享无需公网IP与云服务器
  • 大数据学习之SparkStreaming、PB级百战出行网约车项目一
  • 华纳云:如何从服务器日志中发现僵尸进程?
  • UGUI Canvas为Overlay模式下的UI元素的position和localPosition
  • 2月14日笔记
  • 安装OpenJDK21(linux、macos)
  • 站群服务器和普通服务器有哪些不同之处?
  • 上海“世行对标改革”的税务样本:设立全国首个税务审判庭、制定首个税务行政复议简易程序
  • 国博馆刊|北朝至唐初夏州酋豪李氏家族的发展与身份记忆
  • 中华人民共和国和俄罗斯联邦在纪念中国人民抗日战争、苏联伟大卫国战争胜利和联合国成立80周年之际关于进一步深化中俄新时代全面战略协作伙伴关系的联合声明
  • 暴雨蓝色预警:南方开启较强降雨过程
  • 溢价率19.48%,民企番禺置业3.07亿元竞得广州番禺融媒体中心北侧地块
  • 上海模速空间“北斗七星”与“群星”生态布局,正在做些什么?