通过Py2exe将自己的python程序打包成.exe/.app的方法
作者:哈士奇说喵 发布时间:2021-07-05 11:05:55
Windows 10 x64
macOS Sierra 10.12.4
Python 2.7
准备好装哔~了么,来吧,做个真正意义上的绿色小软件
Win下发布应用
起因
今天实验室同学看到我的乞丐版二输入规则器,他挺感兴趣的,也想要玩玩,但是他没有装python的环境,总不能让他一直玩我电脑吧,所以想到了将程序打包成exe,直接运行!想法一出来,根本挡不住啊,说干就干,先百度python打包exe,一大堆答案,我整理了一下,大概有Py2exe和pyinstaller两种,但是,我给你看张图
这是多久前的产品啊,我屮艸芔茻,如果你执意要用这个请移步,然后自己去玩把,反正我下了之后,根本跑不起来,,,,不信的你可以试试咯py2exe官方下载
安装pyinstaller
安装方法
方法一:使用pip install pyinstaller,也可以参考: python如何安装第三方包,
方法二:如果是下载github上的包之后手动安装,那么步骤是
打开cmd,切到pyinstaller解压包目录,我直接放在c盘目录下了,所以我的操作是
cd C:\pyinstaller-develop
安装pyinstaller,我的操作是
进目录后输入python setup.py install
包下载
亲测可用:Pyinstaller下载地址,GitHub版本,亲测可用
备用地址不:Pyinstaller官网下载地址,我没试过,应该也行
程序打包
先将需要打包的程序,我用自己的Tkint.py文件(自己python文件名字自己修改),把它复制到步骤1的目录下,也就是上面的C:\pyinstaller-develop
然后使用命令:pyinstaller -F Tkint.py
(建议使用)
注意:如果运行的是gui类型程序,你不需要弹出命令窗口,你可以采用:pyinstaller -F -w文件名.py
之后你的命令窗就会跑半分钟左右,跑完之后是这样的;
打包好的Tkint.exe已经在该目录下的dist文件夹中了。如果成功,应该多了这两个文件夹
然后你就可以拿去给别的机器测试你的程序啦,哈哈哈哈哈
注意: 在同学win8/win10,64位机器上可以运行,win7 x64和其余所有32位亲测失败,会提示不兼容,所以说,如果要32/64通吃,就要在python 32位环境下(不是win32位)编译打包exe,才能在32/64成功。
BTW
但是,如果你使用pyinstaller -F -w文件名.py
在别的电脑运行你的exe文件时候你看不到命令窗口,你会认为程序没有运行,打包后的exe比较大,以我的Tkint.py来说,160行的程序,打包后61MB,额,我直接插在U盘上在别的电脑运行,大概需要半分钟左右才能跑起来,所以请慢慢等待。。。。如果你还要改图标,创建目录啥的,请使用pyinstaller -h
来查看参数
如果觉得内容不够细致,可以参考
用PyInstaller将python转成可执行文件exe笔记
或者
用PyInstaller把Python代码打包成单个独立的exe可执行文件
补充
2016.7.7补坑: 基于python的参考文献生成器beta已完成,欢迎下载和使用免费下载基于python的文献生成器.exe
2016.7.8补充: 利用Pyinstaller编译关联文件成exe,只要输入时候写成pyinstaller -F main.py related.py即可,其中main为主函数,其中有import related.py的函数,只要把重要的放前面就好啦,然后最后的exe文件名会以第一个命名,也就是最后形成一个main.exe就是酱紫。修改spec文件,重新加上参数再编译。按照正常步骤做过之后,在目录中还会有一个spec文件,用编辑器打开,之后修改参数,保存后,在原来操作的cmd上写入:pyinstaller main.spec即可,这个是我在gui图像生成exe格式时候,图片无法打包查阅到的,需要单独添加
Mac下发布应用
安装py2app
pip install py2app
或者手动下载安装点这里
打包程序
首先在桌面新建一个文件夹,我这里名字为transapp,然后把要打包的程序放在里面,我这里要打包的是translate.py文件,自己的文件夹和文件名字自己响应替换
进入终端,切路径至该文件夹下
cd ~/Desktop/transapp
开始产生初始化文件
py2applet --make-setup translate.py
保险起见,清除以前产生的build和dist文件夹,第一次操作这两个文件夹是没有的
rm -rf build dist
开始打包应用
python setup.py py2app
这时候会开始执行打包过程,最后大概是这样的
...
Modules not found (conditional imports):
* _md5 (hashlib)
* _sha (hashlib)
* _sha256 (hashlib)
* _sha512 (hashlib)
* com (pkg_resources._vendor.appdirs)
* com.sun.jna (pkg_resources._vendor.appdirs)
* com.sun.jna.platform (pkg_resources._vendor.appdirs)
* riscospath (os)
* win32com (pkg_resources._vendor.appdirs)
* win32com.shell (pkg_resources._vendor.appdirs)
Done!
找到自己的文件夹,然后里面应该有dist文件夹,打开后里面有个app,双击即可。
测试时候, py2app版本0.14,macos版本10.12.14,测试通过,最后效果图如下所示
更新
2016.07.06 更新 win下发布应用
2017.07.26 跟新 mac下发布应用
来源:https://blog.csdn.net/MrLevo520/article/details/51840217


猜你喜欢
- 本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下原图图片转换后的成果源码# -*- codi
- 目录前言创建对象方式一:方式二:更新对象方式一:方式二:方式三:查询检索全部对象:条件过滤:方式一:方式二:检索单个对象:总结前言上篇已经介
- 目录一 背景二 库简介三 代码3.1 创建表格3.2 增加row3.3 增加column3.4 打印表格3.5 边框操作3.6 输出json
- 查看某一列中有多少中取值:数据集名.drop_duplicates(['列名'])#实际为删除重复项,删除后对原数据集不修改
- 本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下# Author:NDK# -*- coding:
- 很多朋友使用Dreamweaver一段时间后,开始热衷于寻找各式各样的插件,追求各种各样的特效,而对于Dreamweaver中的基本功能反而
- 简介Button(按钮)组件用于实现各种各样的按钮。Button 组件可以包含文本或图像,你可以将一个 Python 的函数或方法与之相关联
- Python upper()方法Python 字符串描述Python upper() 方法将字符串中的小写字母转为大写字母。语法upper(
- 在蓝色看到的几个js日历代码,整理了一下。大家可以用在blog上,或者可以用在表单的日期类型的数据选择中,方便大家填写日期。1.动感的日历,
- 本文介绍了在Python中使用gRPC的方法示例,分享给大家,具体如下:使用Protocol Buffers的跨平台RPC系统。安装使用 p
- 索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针.数据库索引的设计原则:为了使索引的使用效率更高,在创
- 一、DAFONT 英文字体很多,分类很详细,字体多数都是免费,唯一的缺点中文字体少了些.http://www.dafont.co
- 通过上篇文章给大家介绍了SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(上) ,说了一下sys.dm_e
- 支付宝支付正式环境:用营业执照,申请商户号,appid测试环境:沙箱环境:https://openhome.alipay.com/platf
- 目前,我们要在网页中使用圆角效果,总是通过切图然后嵌套很多div,用背景来实现圆角效果。对于前端开发工程师来说,圆角的确是一个让人又爱又恨的
- 若是只引用jquery的话,监听单选按钮改变事件如下:<input type="radio" name="
- 人的大脑通过双眼来辨别视觉图形获取信息。大脑根据储存的经验,将所看到的视觉图形建立起优先级。由此可见,一个良好的视觉设计可以帮助大脑迅速有效
- 我就废话不多说了,大家还是直接看代码吧~package mainimport ("encoding/json""
- 推箱子游戏是老游戏了, 网上有各种各样的版本, 说下推箱子游戏的简单实现,以及我找到的一些参考视频和实例;如下是效果图:这个拖箱子游戏做了移
- 前言最近在项目中需要输出彩色的文字来提醒用户,以前写过,但是只能在win上面运行。今天搜了下看有没有在win和Linux上通用的输出彩色文字