Mac 用py2app将写好的python代码打包成一个app

一、安装py2app打包工具

  安装py2app 需要注意,安装全局环境下还是安装到PyCharm创建的项目下。(一般情况下建议py2app安装PyCharm开发项目的编译环境下,需要的第三方包环境已经配置好。)

安装命令:

	sudo pip install py2app

二、生成app的配置文件setup.py

在终端窗口执行:(xxx.py是app的启动文件,就像其他程序的main文件一样)

py2applet   --make-setup  xxx.py

执行完上方命令后:终端会输出一段文字

$xx:  Wrote setup.py

三、配置app的setup.py

初始化的setup.py

"""

This is a setup.py script generated by py2applet

Usage:
    python setup.py py2app
"""
from setuptools import setup

APP = ['xxx.py']		#APP启动的py文件
DATA_FILES = []				#自写模块放在DATA_FILES列表中		
OPTIONS = {}				# 第三方库放在OPTIONS下的includes对应的列表中
setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

下方举一个实例:
1.启动文件为xxx.py
2.项目内其他文件:test.py、 test2.py
3.导入第三方库:requests
配置文件如下:

#第一种配置

from setuptools import setup

APP = ['xxx.py']		#APP启动的py文件
DATA_FILES = ['test.py', 'test2.py']	#自写模块放在DATA_FILES列表中		
OPTIONS = {'includes' : ['requests']}	# 第三方库放在OPTIONS下的includes对应的列表中
setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
)

#第二种配置
from setuptools import setup

APP = ['xxx.py']		#APP启动的py文件
DATA_FILES = []	#自写模块放在DATA_FILES列表中		
OPTIONS = {
	'includes' : ['requests'],  # 第三方库放在OPTIONS下的includes对应的列表中
	'iconfile':'Icon.icns',  #APP图标
     'plist': {'CFBundleShortVersionString':'0.1.0'}  # APP 版本
}	
setup(
    app=APP,
    data_files=DATA_FILES,
    options={'py2app': OPTIONS},
    setup_requires=['py2app'],
    py_modules=['test', 'test2'] #项目modules内容
)

其中icns图标的生成可以参考https://blog.csdn.net/Future_One/article/details/110194979

都配置完没问题,就可以打包app了

四、生成app

如果Mac电脑上有多个版本的Python,需要注意打包时Python版本当前打包的环境是否包含app需要依赖的lib和frame。

# 打包速度快,需要依赖库(自己开发可以使用这种方式)
python setup.py py2app -A

#给其他没有sdk的电脑使用,包括lib库。(没有安装sdk的电脑使用,需要去掉-A,将把所有的依赖全部打包。)

python setup.py py2app

如果执行完生成APP命令之后,终端显示如下:

前面编译过程内容省略……
在这里插入图片描述
说明编译成功,项目中没有问题 。
编译完成后,编译文件的目录下生成两个文件:
   生成build和dist,其中app执行文件就在dist目录下

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值