利用pyinstaller打包python代码为exe工具

本文介绍了如何在Windows环境下,通过Python的Tkinter库编写工具并将其打包为exe文件的过程,包括创建虚拟环境、设置Python解释器、安装第三方模块、以及使用PyInstaller进行多文件打包的详细步骤。

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

最近利用tkinter写了一个小工具,并且打包为exe运行,以下记录总结下过程。

1、新建目录,将代码以及其他文件放入
2、创建虚拟环境,使用的pycharm,打开pycharm,点击终端,执行 

python -m venv venv

3、打开设置-->项目-->python解释器, 修改解释器为虚拟环境
4、重启终端,使虚拟环境生效,安装用到的三方模块

执行pip list 验证,若是无法启动,可能需要执行以下步骤:

1、终端输入get-executionpolicy,回车返回Restricted。

2、win+r快捷键打开,输入 powershell 打开 windows powershell,命令窗口输

Start-Process powershell -Verb runAs 进入管理员模式,再输入

set-executionpolicy remotesigned,回车,输入Y。

5、安装pyinstaller

pip install pyinstaller

6、打包
<1>平常若是只是一个python文件,可以执行以下简单的命令打包

pyinstaller xxx.py

<2>若是多文件打包:
需要首先生成空的spec文件

pyi-makespec .\xxx.py --collect-all tempering_conf

tempering_conf是你的其他文件目录,或者使用以下命令

pyi-makespec .\tamper_gui.py --collect-all tempering_conf -F -w

-F 表示将程序打包为单个文件

-w 表示运行时不显示黑框口

打开生成的spec 文件加入资源路径
SETUP_DIR = 'F:\\tk_demo\\tamper\\'

datas = [(SETUP_DIR+'tempering_conf', 'tempering_conf')]
binaries = []
hiddenimports = ['requests','selenium','undetected_chromedriver','func_timeout','docx']
tmp_ret = collect_all('tempering_conf')
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]


a = Analysis(
    ['tamper_gui.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\__init__.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\aa.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\bb.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\cc.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\dd.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\ee.py',
    'F:\\tk_demo\\tamper\\tempering_conf\\ff.py',
    ],
    pathex=['F:\\tk_demo\\tamper'],
    binaries=binaries,
    datas=datas,
    hiddenimports=hiddenimports,
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
)

hiddenimports 中可以加入运行exe时找不到python的三方模块

datas中可以加入你的静态资源路径

最后重新打包

pyinstaller xxx.spec

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值