c++打包exe_Auto-Py-to-Exe完美打包python程序

695bbe15d811ae934ce2eaab7693b187.png

工具简介

Auto PY to EXE是一个基于Eel 和PyInstaller构建的、通过简单的UI界面将python项目中的.py文件(可以是单个py文件或多个py文件)打包为.exe文件的简单工具,与PyInstaller相比,Auto PY to EXE更简单直观,可以自动生成执行转换代码,进而将python程序打包为exe文件。

模块安装

环境要求:

  • Python环境:python>=2.7
  • 浏览器:用于显示操作界面,Chrome或者默认浏览器

模块安装:

pip install auto-py-to-exe

或通过GitHub安装:

git clone https://github.com/brentvollebregt/auto-py-to-exe.git
cd auto-py-to-exe
python setup.py install

使用方法

通过如下命令行,启动Auto PY to EXE:

auto-py-to-exe

767cccfc40d57a2d58ebab7d73a1c440.png
Auto Py to Exe界面
  • 添加要打包的py脚本路径(Script Location)。
  • 选择输出文件类型(Onefile):一个文件目录或者一个exe文件。一个目录,即将所有程序依赖的文件放到一个文件夹下,也可以在高级(Advanced)选项中选择输出目录;而一个文件是创建一个exe文件,如果python程序中没有图片、音频等文件时可以选择此项,其实有图片、音频等文件也可以选择生成一个exe文件。
  • 控制台窗口(Console Window):设置生成的exe程序是否显示控制台,一般选择隐藏控制台界面,即Window Based (hide the console)。
  • 添加程序图标(Icon):指定生成的exe程序的图标路径;
  • 选择附加文件(Additional Files):附加文件选项可以添加工程所需的附属文件。但是Auto PY to EXE是使用pyinstaller将数据解压缩到一个临时文件夹中,并将此目录路径存储到_MEIPASS环境变量中,文件路径的改变导致我们项目中找不到所需的文件。如果选择生成一个exe文件,在附加文件选项中选择的文件不能被添加到exe文件中。解决方法如下:

定义资源路径函数:

def resource_path(relative_path):
    """获取程序中所需文件资源的绝对路径"""
    try:
        # PyInstaller创建临时文件夹,将路径存储于_MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

更改代码中的媒体文件路径(示例):

# 原来文件路径代码
self.setWindowIcon(QIcon('images/window.svg'))
splash.setPixmap(QPixmap('images/fish.jpg'))
...

# 将上述代码更改为
self.setWindowIcon(QIcon(resource_path('images/window.svg')))
splash.setPixmap(QPixmap(resource_path('images/fish.jpg')))
...

如此,代码中的图片等其他文件可以被正确打包至exe文件中。

  • 上述配置完成后,Auto PY to EXE的命令窗(Current Command)会显示当前配置的代码。
  • 最后点击CONVERT .PY TO .EXE按钮执行就可以了。

转换示例

以la vie大佬的《快速掌握PyQt5》的第23章为例,其中chapter2101.py是要打包的程序,文件夹images是程序中所需的图片,window.ico为生成exe文件的桌面图标。

ad7ac0b57d23cff5bf0d561a9441fb8b.png
转换所需的文件

Auto PY to EXE的基本配置为:

2f6bef0948d1b0c8d2bbfb37b664d72f.png
Auto PY to EXE的基本配置

执行结果为:

3cfdbc9cd0b26cd324c1c6a2a478eec9.png
Auto PY to EXE执行过程

转换完成后,Auto PY to EXE将打包的exe文件默认输出到路径C:Users<user>output下,即

ab7fc4598c8b7991287297c0f7469c9f.png
转换后的exe文件

转换后exe文件所打开后界面如下:

db76a7e9d1a205789e1de0f736186cf2.gif

要点总结

  • Auto PY to EXE的安装和基本配置;
  • 更改Python代码中所需资源文件的路径。
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值