给Python编译的exe文件加个图标

文章介绍了如何使用PyInstaller将Python程序编译为exe可执行文件,并且详细讲述了如何替换默认图标为自定义ico图标的过程,包括使用AxialisIconWorkshop创建ico文件,以及在编译时添加选项-i指定图标文件。
部署运行你感兴趣的模型镜像

    上篇“将Python文件编译为exe可执行程序”一文,介绍了用PyInstaller将Python文件编译为exe可执行文件,但生成的是PyInstaller默认的图标,如图1所示。

 图1 直接编译的默认图标

    本篇介绍“给Python编译的exe文件加个图标”。

一、给exe文件添加ico图标

     先用icon工具软件(如:Axialis IconWorkshop)制作一个与软件相对应的ico图标,本例是玫瑰ico(见图2,黑色为透明)。

图2 ico文件

    编译时需加选项 -i icon.ico或--icon=icon.ioc,将默认图标替换为用户自己的图标。

    建文件夹d:\rose,将要编译的.py文件、ico图标文件和版本信息文件复制到此文件夹。仍以上篇为例,将Python文件“漂亮玫瑰.py”、版本信息文件“myVerInfo.txt”和图标文件“rose.ico”复制到d:\rose,如图3所示。

 图3 编译前文件夹中文件

    在命令行窗口转rose文件夹,在rose文件夹下执行如下命令:

pyinstaller -F --version-file=myVerInfo.txt -i rose.ico 漂亮玫瑰.py

    执行过程如图4(截图时未执行结束)。

图4 执行pyinstaller -F --version-file=myVerInfo.txt -i rose.ico 漂亮玫瑰.py过程

    此时会产生build、dist二个子文件夹,并多一个“漂亮玫瑰.spec”文件,见图5。

图5 执行带版本信息的pyinstaller编译后的文件夹

    “漂亮玫瑰.spec”与“myVerInfo.txt'”文件上篇已介绍过,本篇不再重复。

    进入dist子文件夹,可以发现“漂亮玫瑰.exe”的图标为作者设计的rose.ico图标(见图6),在“漂亮玫瑰.exe”上单击右键,选“属性”,选“详细信息”页,信息显示如图6所示。

 图6 用版本信息文件编译后有exe文件的属性“详细信息”

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 使用PyInstaller将Python脚本编译Windows可执行文件 为了使Python脚本能够在未安装Python解释器的环境中运行,可以将其编译为独立的`.exe`文件。此过程主要依靠名为PyInstaller的第三方库来完成。 #### 安装PyInstaller 在开始之前,需确保已安装PyInstaller库。可以通过pip工具轻松实现这一目标: ```bash pip install pyinstaller ``` #### 编译单个文件 对于简单的应用场景,仅需一条命令即可将Python脚本转换为单一的可执行文件。假设待处理的脚本名称为`your_script.py`,那么应使用的命令如下所示[^2]: ```bash pyinstaller --onefile your_script.py ``` 这条指令告诉PyInstaller创建一个单独的输出文件而不是默认的一组文件文件夹结构。 #### 提升效率的小贴士 考虑到打包过程中可能会涉及大量不必要的模块载,建议采用更精确的方式导入所需的类或函数而非整个包。这不仅有助于减少最终生成的应用体积,也能快构建速度[^5]。 #### 自定义图标 如果希望自定义生成EXE文件图标,则可以在调用PyInstaller时指定一个ICO格式的图像作为参数。例如,要设置图标保持窗口隐藏模式,可用下面这种方式操作: ```bash pyinstaller -F --icon=my_icon.ico my_script.py ``` 其中`my_icon.ico`应当放置于与源代码相同的路径下。 #### 查找生成的结果 成功执行上述任一形式的命令之后,在原始项目根目录内会出现多个新建立的子目录以及一些临时文件;而实际想要获取的目标——即带有扩展名“.exe”的二进制文件则位于名为`dist`的新建文件夹之中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值