方式一:使用py2app打包
1. 安装py2app
py2app官网:
https://pythonhosted.org/py2app/
安装命令:
pip install py2app
2. 准备一个python GUI 程序
2.1 首先安装一个gui框架 wxpython
参考:
http://wiki.wxpython.org/
http://wiki.wxpython.org/Getting%20Started
2.2 写代码
# !/usr/bin/env python
import wx
app = wx.App(False) # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, wx.ID_ANY, "Hello World") # A Frame is a top-level window.
frame.Show(True) # Show the frame.
app.MainLoop()
3. 打包
3.1 cd到要打包的当前目录下
cd /Users/xiaoru/Desktop/Learning/PyToApp
3.2 生成setup文件:
py2applet --make-setup hello.py
3.3 输入打包命令:
python setup.py py2app -A
可以看到在dist目录下生成了app文件, 双击可以运行了。
注:我使用的是python3 所以全程用到的命令都是把python改成python3
方式二:使用pyinstaller打包
1. 安装pyinstaller
pip install pyinstaller
2. 进入应用入口文件所在路径
cd /Users/xiaoru/Desktop/Learning/PyToApp
3. MAC打包
sudo pyinstaller -w --clean -p 依赖包路径 入口文件.py
比如:sudo pyinstaller -w --clean -p /Users/judith/PyToApp Hellow.py
4. win打包
pyinstaller -F -p 依赖包路径 入口文件.py
依赖包路径查看:
比如Pycharm:
这个路径就是依赖包路径了。
最后总结:
pyinstaller打包更麻烦些,命令多了一个参数,并且打包后生成的文件挺多的,不知道是不是对大型项目打包比较友好,相对来说py2app打包操作简单好用。
方式三:手动打包成二进制文件
- 在python文件的第一行加入要调用的python路径,如#!/usr/bin/python 或者 #!/usr/bin/env python
- 将python文件的后缀.py去掉
- 给去掉.py后缀的文件添加执行权限 chmod a+x test, 具体如下
➜ fileConvert touch test.py
➜ fileConvert vim test.py
➜ fileConvert scp test.py test
➜ fileConvert chmod a+x test