博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python打包应用程序
阅读量:6894 次
发布时间:2019-06-27

本文共 1410 字,大约阅读时间需要 4 分钟。

打包Mac应用程序:

引用地址:

####一、安装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 setupAPP = ['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 格式的图标(例如:或者)

####四、错误说明

#####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 //关闭Sipcsrutil enabel //开启Sip复制代码

#####4.解决步骤3:删除受限制的文件标志

输入:

sudo chflags -R norestricted /System/Library/Frameworks/Python.framework复制代码

那么问题就解决了,重新执行创建setup.py步骤

>打包Window应用程序

运用pyinstaller打包Python成Window的exe文件

引用:

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

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

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

你可能感兴趣的文章
JSONP安全防范解决方案新思路
查看>>
Web 开发最有用的50款 jQuery 插件集锦——《综合篇》
查看>>
import com.sun.image.codec.jpeg.JPEGCodec不通过 找不到包
查看>>
adrci中的purge
查看>>
前台对Seajs的用法个人见解
查看>>
java中的队列同步器AQS -- AbstractQueuedSynchronizer
查看>>
centos 脚本基础练习9
查看>>
我的友情链接
查看>>
GET和POST,有什么区别
查看>>
Android内存优化
查看>>
windows 安全策略
查看>>
centos6.9实现网卡bonding
查看>>
No module named 'MySQLdb' python3.6 + django 1.10 + mysql 无法连接
查看>>
使用nginx搭建https服务器 (转)
查看>>
Linux磁盘分区管理--ext2和ext3文件系统逻辑结构分析
查看>>
玩转智能路由器-WRTnode添加显示支持
查看>>
Centos 6.5 下搭建Mysql 5.6双主模式
查看>>
It is indirectly referenced from required .class files
查看>>
Guava学习笔记:EventBus
查看>>
为何要用ERP
查看>>