您的位置:首页 > 移动开发

深入学习python (四) 用py2app来打包python文件

2014-02-28 18:22 639 查看
py2app是在mac OS系统上打包python文件为app的;

py2exe是在windows系统上打包python文件为exe的;

pyinstaller似乎也是windows系统上的。

这些都用过,感觉还不错,就是中间老是遇到一些烦人的小问题。

今天就介绍一下py2app打包python文件

首先安装py2app

$ pip install py2app

然后创建一个setup.py(其实叫其他的名字也行)
"""
py2app build script for MyApplication

Usage:
python setup.py py2app
"""
from setuptools import setup
setup(
app=["MyApplication.py"],
setup_requires=["py2app"],
)

把上面的MyApplication.py换成你想打包的python文件即可。
然后就生成了一个可以直接在mac上运行的app了

当然会出现一些小问题,

比如:

import cv2.cv as cv
import sys
import cv2
import numpy as np

if __name__ == "__main__":
face_cascade = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('./haarcascade_eye.xml')

在上面的例子里,import的库会被自动打包进去,但是读取的两个外部的xml文件是不会被自动打包去进的。
这时,我们只要人为把这两个xml文件放进去即可,点击生成的app,显示包内容,在Contents-Resources目录下粘贴上外部文件即可。

其实这些开源工具总是会出现一些烦人的小问题,尤其是安装时,很可能会出错,然后又要花很长时间在stackoverflow上找,能找到时幸运的,有时候谷歌也帮不了。头疼啊。

就比如安装py2app时,朕遇到一个问题pip install py2app 理论是可以的,但是就是不成功,失败,是不是今天pip生病了,还是这个链就一直是断了。搜了半天也解决不了问题,最终的解决方法,请见下一篇“当pip install XXX 失败时,该怎么办”.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python py2app