爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7072|回复: 3

[经验总结] Python打包成exe通用案例

[复制链接]

新浪微博达人勋

发表于 2022-9-7 18:03:07 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
1、需求缘起

平时工作中,我们偶尔需要把自己用Python写的功能分享给其他人用,
而这个人可能对程序一无所知,
亦或,我们不想暴露自己辛辛苦苦写的源代码,
这都需要把Python打包成exe

虽然,网上用pyinstaller打包Python的帖子很多,
但是,由于Python初学者中,很多人对软件的工程化开发不是太了解,所以常陷入困惑。

这里给一个比较通用的例子。

2、开发阶段

一个Python项目通常会包括:数据文件、配置文件、入口主程序和子模块。

编程开发阶段,我们新建一个文件夹py2exe,里面放了:
1、数据文件data.txt
2、配置文件config.json
3、入口源文件main.py
4、读取配置颜色的源文件get_barcolor.py
5、读取数据的源文件get_data.py


这些文件见附件。

为了保证打包后的软件可以找到数据文件和配置文件,
编程开发的时候,不要使用“绝对路径”。

一般,软件启动后,会将xxx.exe所在的目录视作“当前目录”,
所以,在开发时候,配置文件和数据文件都以“当前目录”为参照来写,
即,在vscode的终端执行:
cd C:\Users\XXXXX\Desktop\py2exe
让程序在项目目录(也是当前目录)里找文件。

3、打包阶段

安装打包工具:pip install PyInstaller

进入目录:cd C:\Users\XXXXX\Desktop\py2exe

打包:pyinstaller -F -w main.py

经过几十秒的打包,在“当前目录”生成了:
1、文件夹build,可删除
2、文件main.spec,可删除
3、文件夹dist,这里有我们需要的main.exe(30多Mb)

把config.json和data.txt拷入文件夹dist,
软件可以根据当前路径找到这2个文件。

最后,双击main.exe,等一会,dist中就生成了fig.png





py2exe.zip

1.98 KB, 下载次数: 12, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-9-8 09:38:46 | 显示全部楼层
楼主太强了!!分享学习
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-11-10 20:06:29 | 显示全部楼层
有没有用绝对路径的打包方法
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-11-12 10:43:29 | 显示全部楼层
大哥,画冰墩墩的那个也是你把
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表