这个问题困扰了我两天,今天终于将它解决了。现在把这两天来所遇到的困难和解决办法记录在此,以便自己以后查询,同时也希望能够对遇到同样问题正在困扰着的朋友起到一点作用。(虽然大都是很基础得东西,而且有些自己还是一知半解,若有说的不是的地方,望各位朋友见谅并留言帮助改正,先谢谢了。)
本文内容主要分为以下几个部分:
1.为什么选用py2app?
2.py2app的安装和使用方法
3.使用py2app对macOS 64位下的Python程序打包应该注意的问题。
4.PyQt4程序打包的困扰。
5.打包后中文内容变成乱码以及pyQt程序中字符串的操作出现异常的问题。
正文
1.为什么选用py2app?
据我所知道的,能够用在MacOS上的打包工具主要有cx_freeze、pyInstaller、py2app(py2exe变种)等等。
① cx_freeze: 我首先尝试的打包工具,安装后使用后不久,就放弃了。(现在已经忘记是出现什么问题而导致无法打包成功了,不过不是本文重点,在此就不介绍了。)
② pyInstaller:pyInstaller目前只支持win(32/64bit),linux,macOS(32bit)、我的mac是10.6.7版本的,是64位的。所以无法使用。(开始的时候一直以为系统是32位的,各种尝试后无果,最后才发现是64位系统,于是放弃pyInstaller)
③ py2app:py2app是py2exe在macOS下的变种,使用方法和py2exe几乎一样。关键的是在py2app文档(貌似只有英文的)中并没有说不支持mac64位系统,于是我就着手使用py2app
附:
①.获取当前系统默认python版本以及执行路径
在终端输入
file `which python`
你可以获得当前默认python的各种子版本(姑且这样叫)以及执行路径,例如:
</