打包Mac应用程序:
引用地址: Python Tkinter GUI(二)py2app打包Mac应用程序
用Python和py2app写独立的Mac OS X 应用
####一、安装py2app
#####1.安装py2app
pip install py2app
复制代码
注:报错:pip:commond not found,是你没有安装pip,需要安装
####二、创建setup.py文件
py2applet --make-setup xxx.py
复制代码
####三、创建应用程序
#####1. 删除旧的数据
rm -rf build dist
复制代码
#####2.创建新的应用程序
python setup.py py2app
复制代码
####四、添加一个图标
在 OPTIONS 字典中添加 "iconfile": "youricon.icns" 即可:
from setuptools import setup
APP = ['Sandwich.py']
DATA_FILES = []
OPTIONS = {
'argv_emulation': True,
'iconfile': 'app.icns'
}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
复制代码
你可以在网上找到 icns 格式的图标(例如:IconFinder或者freepik)
####四、错误说明
#####1.报错信息为:
*** creating application bundle: MyApp ***
error: [Errno 1] Operation not permitted
复制代码
MacOSX El Captain引入的SIP功能会影响py2app创建应用,什么叫SIP呢?自己百度吧。
#####2.解决步骤1:禁用SIP,csrutil disable
输入:
csrutil status
复制代码
csrutil disable:SIP安全已关闭
csrutil enable:SIP安全已开启
#####3.解决步骤2:设置SIP
重启Mac,同时按住Command+R,直到进入Recovery Model 点击Utilities —>Terminal 在Terminal输入以下命令后重启Mac,完成
csrutil disable //关闭Sip
csrutil enabel //开启Sip
复制代码
#####4.解决步骤3:删除受限制的文件标志
输入:
sudo chflags -R norestricted /System/Library/Frameworks/Python.framework
复制代码
那么问题就解决了,重新执行创建setup.py步骤
>打包Window应用程序
运用pyinstaller打包Python成Window的exe文件
引用: pyinstaller---3步即可将你的py文件转成exe格式
- 安装Pyinstaller
pip install pyinstaller
复制代码
- 打包Python文件成exe文件
pyinstaller -f -w xxx.py
复制代码
注意:打包如果有问题,打开的时候会有控制台窗口一闪而过,去看看错误信息,有的时候是你所在的环境没有添加某些库导致找不到的问题。