【python】【pycharm】pyinstaller+python工程打包成exe/绿色免安装的文件夹+在windows下自动定时运行
一、pyinstaller打包python工程
python3打包成exe---pyinstaller方法:https://blog.csdn.net/qq_20265805/article/details/105108726
1.1、打包项目为绿色免安装的文件夹
直接执行:pyinstaller main_file.spec 即可
执行后 生成的dist文件夹下的数据 就是打包后的项目数据了(直接压缩发给别人 别人解压后就可以运行)
以下是main_file.spec 文件代码 (直接复制 仅修改对应注释的数据即可)
# -*- mode: python -*- block_cipher = None a = Analysis(['E:\\codecontrol\\control.py'], # 入口py文件 pathex=['E:\\codecontrol'], # 入口py文件所在路径 binaries=[], datas=[ ('E:\code\dao\e.db','.'), # 添加的资源文件(“.” 表示把e.db这个资源 添加到与生成的exe文件所在的路径中) ('E:\code\image\logo.png','.') # 添加第2个资源文件 ], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, [], exclude_binaries=True, # 这里是True name='test', # 生成的exe文件名称(不含后缀) debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, # True为打包黑窗口,False不打包黑窗口 icon='E:\codeimage\logo.ico') # 生成的exe文件logo图(需ico格式) coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name='test') # 生成的exe文件 所在的文件夹名称
1.2、打包为单个exe文件
直接执行:pyinstaller main_file.spec 即可
执行后 生成的dist文件夹下exe文件 就是打包后的项目数据了(直接把exe文件发给别个就可以使用了)
以下是main_file.spec 文件代码 (直接复制 仅修改对应注释的数据即可)
# -*- mode: python -*- block_cipher = None a = Analysis(['E:\\Code\\GitHub\\NavicatCrack\\main.py'], # 入口py文件 pathex=['E:\\Code\\GitHub\\NavicatCrack'], # 入口py文件所在路径 binaries=[], datas=[], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) #######!!!注意点1:加载自己的资源文件(若没有 则可以不用管)##################### def extra_datas(mydir): def rec_glob(p, files): import os import glob for d in glob.glob(p): if os.path.isfile(d): files.append(d) rec_glob("%s/*" % d, files) files = [] rec_glob("%s/*" % mydir, files) extra_datas = [] for f in files: extra_datas.append((f, f, 'DATA')) return extra_datas # append the 'Resources' dir a.datas += extra_datas('Resources') ###这里是自己的资源文件夹 a.datas += extra_datas('Reports') ###这里是自己的资源文件夹 a.datas += extra_datas('Drivers') ###这里是自己的资源文件夹 ######################################################################## pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, a.binaries, ###!!!注意点2 a.zipfiles, ###!!!注意点2 a.datas, ###!!!注意点2 [], exclude_binaries=False, ###!!!注意点3:这里是False name='NavicatCrack', # 生成的exe文件名称(不含后缀) debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=True, # True为打包黑窗口,False不打包黑窗口 icon='E:\\资源\\图片\\logo.ico') # 生成的exe文件logo图(需ico格式)
二、在windows下自动定时运行
在windows下自动运行:只需把dist文件夹中的“.exe‘文件添加到windows的”Windows 任务计划程序“中即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义