如何将 pyc 文件重新打入 PyInstaller 生成的 exe

文章介绍了一个方法,通过pyisrepack工具,可以实现不重新打包整个Python工程,仅替换已编译的pyc文件来更新exe程序。该过程涉及使用pyinstxtractor拆包exe,uncompyle6进行pyc到py的反编译,修改代码后重新编译回pyc,最后用pyisrepack将新的pyc文件压入exe。此方法适用于经常修改的小型Python文件,要求Python版本一致且exe中条目类型为s的情况。

介绍

工作中有一个颇具规模的 Python 工程,发布时会用 PyInstaller 打包成exe。其中有个很小的 Python 文件会经常修改,但每次打包时间非常长。于是就想:能否用已经编译好的 pyc 文件直接替换掉 exe 中对应的内容。经过对 PyInstaller 打包的 exe 文件格式的研究,实现了这个功能。

项目地址:
https://gitee.com/bruce_code/pyisrepack.git 
https://github.com/bruce-yan/pyisrepack.git 

Usage


Usage: python pyisrepack.py -ori <exe file> -p <pyc file> -o <output file>

How To Do


这是Demo代码, 使用 PyInstaller 将其打包为 main.exe

import sys
from PySide6.QtCore import Qt
from PySide6.QtWidget
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值