pyinstaller 打包图片资源文件

背景

最近空闲之余,在使用wxpython写桌面应用程序,虽然界面确实不敢恭维,但是使用python的好处还是很多的,所以网上研究了下想要将py文件转换成exe的话需要用到pyinstaller ,当然还有其他的工具也是可以做到这个的,类似于py2exe等等,这里我就不介绍其他工具是怎么使用的,因为百度都是一大把的东西了。但是后来发现,使用pyinstaller path/xx.py 命令打包出现的文件里面不包含我需要的一些ico.png等等文件,那这个就比较麻烦了,因为每次打包成一个exe的时候,我必须还得手动去工程目录下,将对应的资源文件拷贝到我打包的路径下。所以特定google了一把,嗯 确实找到解决方法。

正文

其实想要找到解决方法,最好就是去官网看使用文档,没有什么东西会比它来的更方便了,所以我们先从官方的使用手册入手吧。找到我们需要的地方Using Spec Files,这里我们可能先得了解下Spec file是什么东西。这里我们看看官网的解释

the first thing PyInstaller does is to build a spec (specification) file myscript.spec. That file is stored in the –specpath= directory, by default the current directory.

The spec file tells PyInstaller how to process your script. It encodes the script names and most of the options you give to the pyinstaller command. The spec file is actually executable Python code. PyInstaller builds the app by executing the contents of the spec file.

For many uses of PyInstaller you do not need to examine or modify the spec file. It is usually enough to give all the needed information (such as hidden imports) as options to the pyinstaller command and let it run

以上的内容实际是告诉我们 我们在使用pyinstaller path/xx.py的时候,实际上如果你不指定–specpath的话默认会在当前的路径下生成一个spec文件,这个文件会告诉pyinstaller如何处理你的脚本,pyinstaller创建一个exe的文件就是依靠它里面的内容进行执行的。正常情况下你不需要去修改这个spec文件,除非你需要打包一个dll或者so文件或者其他数据文件时。

这个时候我们就需要先通过

pyi-makespec options name.py [other scripts ...]

来生成一个spec文件,再来就是增加我们需要的资源文件。
这里写图片描述
红色的框就是新增的资源文件
下来增加完以后 我们只要pyinstaller options name.spec 就可以将我们需要的资源文件打包到生成的文件目录下了。

  • 12
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
PyInstaller是一个用于将Python应用程序打包成独立可执行文件的工具,它可以将源代码、依赖库和资源文件一并压缩到一个可执行程序中,无需用户提供额外的Python环境。当你需要创建一个能在没有Python安装的机器上运行的程序时,PyInstaller非常有用。 使用PyInstaller打包带文件的过程通常包括以下步骤: 1. 安装PyInstaller:首先确保你已经安装了`pyinstaller`。如果没有,可以通过pip进行安装: ``` pip install pyinstaller ``` 2. 准备脚本和文件:确定你要打包Python脚本(`main.py`)以及任何必需的非Python数据文件(如配置文件、图片或数据库)。 3. 执行打包命令:在命令行中,进入包含Python脚本的目录,然后使用`pyinstaller`命令,加上你的目标选项(如窗口模式,添加路径等)。例如,打包为Windows的可执行文件: ``` pyinstaller --onefile main.py --add-data "dir_with_data:./data" --icon=app_icon.ico ``` `--onefile`表示生成单个可执行文件,`--add-data`用于添加额外的数据文件,第一个参数是文件所在的相对路径,第二个参数是输出时的文件名。 4. 配置选项:`--add-data`后面可以指定多个数据文件,如果文件结构复杂,还可以使用`--paths`添加路径搜索顺序。`--icon`用于设置程序图标。 5. 查看输出:运行完成后,会在dist目录下找到打包的可执行文件,你可以尝试运行这个文件来验证是否包含所有所需内容。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值