python打包和添加数据文件_Pyinstaller打包用spec添加资源文件

本文介绍了如何使用PyInstaller将Python程序打包成exe,并处理包含资源文件的情况。通过修改spec文件添加资源文件,以及调整程序内部路径解析,确保打包后的程序能正确运行。详细步骤包括:使用PyInstaller命令行初步打包,编辑spec文件添加资源,修改代码以适应打包后的路径变化。最后解决因禁用命令行窗口导致的子进程问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写的翻译软件——transdocx,就是给普通用户而非Python程序员用的,所以它必须是一个开箱即用的软件,普通用户下载下来就能双击运行。

pyinstaller-spec.jpg

而Python作为一个脚本语言,要运行是必须有解释器的,它不能像C/C++那样编译成二进制。同样,也不能要求普通用户首先安装Python解释器、再安装依赖的包、最后运行transdocx。所以,需要把Python写好的软件打包成一个exe程序,让用户双击既可以使用。打包Python程序的最好的工具可能就是pyinstaller了。

下面我就结合transdocx打包的过程来讲讲pyinstaller的使用,平台是Windows,Linux和macOS类似。

一、用pyinstaller给纯Python代码打包

如果你的软件中只有.py文件,即Python代码文件,不包括图标、图片等资源文件,那么使用pyinstaller打包是非常简单的,往往只需要下面一行命令即可:

pyinstaller -F -w -i icon.ico transdocx.py

第一版本的transdocx就是这样完成的。其中的几个选项:

-F 把整个软件(包括依赖的各种库文件)打包成单一文件;

-w 禁止Windows的命令行窗口。不然双击exe时会打开一个黑乎乎的dos窗口;

-i 生成的exe文件会带有这个图标,有识别度也更好看;

最后的transdocx.py就是翻译软件的入口程序。

运行完上面的命令,会在当前目录下生成一个transdocx.spec文件和两个文件夹build和dist,其中dist里面就是最终生成的exe文件,把这个文件发给普通用户就可以了。当然,你要先自己测试没有问题。

transdocx.spec 是于pyinstaller生成的配置文件,下次打包时,可以不运行上面带参数的命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值