Python EXE1.0.4 python程序可视化打包工具(简化)

4次阅读
没有评论

开发者的话

我自己经常用Python写程序,但是要把软件发到论坛又不能只发py文件。网上很多打包软件要么要钱要么太丑。所以我就自己写了一个!

我发现很多兄弟 不会打包 正常情况下应该是先创建一个虚拟环境 激活虚拟环境 然后把你导入的第三方包安装到虚拟环境里,然后开始打包,你不能拿个py文件就直接打包,肯定是要报错的。

1.0版本还有一些瑕疵,兄弟们有问题的报错的,截图回帖我来处理。或者有什么好的建议也可以提。

Python EXE 使用指南

版本:1.0.0 By阿修

软件简介

Python EXE 是一款专门为 Python 开发者设计的打包工具,能够将 Python 脚本文件转换为可执行文件(.exe)。无论您是想分享自己的应用程序给没有安装 Python 的用户,还是希望保护自己的源代码,Python EXE 都能满足您的需求。

软件界面

主要功能

  • 单文件打包:将整个应用程序打包成单个 .exe 文件,方便分发和使用
  • 模块分离:将大型模块(如 numpy, pandas 等)分离到 DLL 文件中,减小主程序体积
  • 资源文件打包:支持同时打包程序需要的数据文件、图片等资源文件
  • 自定义图标:为生成的 EXE 文件设置自定义图标,让您的应用更加专业

使用指南

基本设置

  1. 选择 Python 主文件:点击"浏览"按钮选择您的 Python 主程序文件(.py)
  2. 项目文件夹:软件会自动填入主文件所在的文件夹路径
  3. 程序名称:自动根据项目文件夹名称设置,您也可以手动修改
  4. 输出目录:默认设置为项目文件夹下的 dist 目录,可以通过"浏览"按钮修改
  5. 图标文件:如果项目文件夹中有 .ico 文件,会自动选择;您也可以"浏览"选择其他图标文件

打包选项

  • 显示控制台:勾选后,程序运行时会显示控制台窗口,适合需要命令行输出的程序
  • 清理构建文件:打包前清理之前的构建文件,建议保持勾选
  • 包含数据文件夹:勾选后可以选择一个额外的数据文件夹一同打包
  • 打包模式:
    • 单文件模式:打包为单个 EXE 文件,适合简单程序和分发
    • 文件夹模式:打包为文件夹,包含 EXE 和依赖文件,适合复杂应用
  • 模块分离(EXE+DLL):选择文件夹模式后可用,将大型模块分离为 DLL 文件,减小主程序体积

提示:模块分离功能适合包含大型库的项目(如 numpy, pandas, matplotlib 等),可以显著减小主 EXE 文件体积,提高启动速度。

高级设置

  • 管理员权限运行:程序运行时要求管理员权限
  • 调试模式:启用 PyInstaller 的调试功能,有助于诊断打包问题
  • 使用 UPX 压缩:使用 UPX 压缩可执行文件,减小体积
  • 附加数据文件:添加单个或多个额外数据文件
  • 附加参数:直接传递给 PyInstaller 的额外命令行参数
  • 虚拟环境设置:指定虚拟环境路径,使用虚拟环境中的 Python 解释器和库进行打包

模块分离选项

当选择"文件夹模式"并启用"模块分离"时,您可以自定义要分离为 DLL 的模块列表:

  1. 勾选"模块分离(EXE+DLL)"选项后,会弹出模块选择对话框
  2. 在列表中勾选您想要分离的模块
  3. 点击"确认"按钮保存选择

注意:tkinter 模块不会被分离,即使您在列表中选择了它。这是为了避免 _tkinter 模块丢失导致的错误。

常见问题与解决方案

打包失败的常见原因

错误信息 可能原因 解决方案 ModuleNotFoundError: No module named 'xxx' PyInstaller 无法找到某个导入的模块 尝试在"高级设置"中添加附加参数:--hidden-import=xxx ImportError: DLL load failed 动态链接库加载失败 使用"文件夹模式"而非"单文件模式",或确保所有 DLL 文件正确包含 FileNotFoundError 程序运行时找不到数据文件 使用相对路径或 sys._MEIPASS 机制访问资源文件

资源文件访问

当您打包了数据文件夹时,在程序中可以使用以下代码访问这些文件:

import os
import sys
def 获取数据文件夹路径():
if getattr(sys, 'frozen', False):
# 打包后的可执行文件
return os.path.join(os.path.dirname(sys.executable), '数据文件夹名')
else:
# 开发环境
return os.path.join(os.path.dirname(__file__), '数据文件夹名')
数据文件夹 = 获取数据文件夹路径()
文件路径 = os.path.join(数据文件夹, '文件名.txt')

模块分离模式注意事项

当使用模块分离模式时,需要注意以下几点:

  1. 主程序(EXE文件)和分离的模块(DLL文件)必须放在同一目录下
  2. 分发应用程序时,需要分发整个文件夹,而不只是 EXE 文件
  3. 模块分离可以减小主程序体积,提高启动速度,并允许单独更新模块

命令行参数参考

Python EXE 使用 PyInstaller 作为后端打包引擎。以下是一些常用的 PyInstaller 命令行参数:

参数 说明 --onefile 创建单个可执行文件 --onedir 创建一个包含可执行文件和依赖项的目录 --noconsole 不显示控制台窗口(对于 GUI 程序) --icon=ICON 为可执行文件添加图标 --hidden-import=模块名 添加隐藏导入的模块 --add-data=源路径:目标路径 添加额外数据文件或文件夹 --collect-all=包名 收集指定包的所有依赖项 --uac-admin 以管理员权限运行 --noupx 禁用 UPX 压缩

关于作者

Python EXE 由阿修开发。版本 1.0.0。

如有问题或建议,请联系开发者。


Copyright © 2025 阿修. All rights reserved.

下载地址

https://axiu.lanzouw.com/b02p4k4kbi
密码:apqh

正文完
 0
116博客
版权声明:本篇文章由 116博客 于2025-04-15发表,共计2323字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码