Python打包应用程序

打包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格式

  1. 安装Pyinstaller
pip install pyinstaller
复制代码
  1. 打包Python文件成exe文件
pyinstaller -f -w xxx.py
复制代码

注意:打包如果有问题,打开的时候会有控制台窗口一闪而过,去看看错误信息,有的时候是你所在的环境没有添加某些库导致找不到的问题。

转载于:https://juejin.im/post/5b3ac76be51d45558d3c90d0

你可能感兴趣的:(Python打包应用程序)