帮朋友打包一个简单的py代码,参考这个教程:Mac 用py2app将写好的python代码打包成一个app ,然后出了好几个坑,下面记录一下解决方案。
1. Python版本问题
朋友说这个代码需要python3.6以上的版本,我一开始用python3.8运行了一下代码,没问题,紧接着打包,然后出错了,搜了一下是python3.8的一些问题,于是重新下了3.6。官网安装好的python3.6在这个目录下:/Library/Frameworks/Python.framework/Versions/3.6
解决:换成python3.6版本后,打包的过程中没有任何报错,但仍然无法运行生成的app
2. pip版本对应问题
pip3 -V 检查了一下pip版本,发现pip版本居然和python版本对不上……神了,当前的pip还是指向python3.8的版本
解决:重新指定系统当前的pip版本,参考文章 pip指向的Python版本不是目前使用的Python(版本不对应)
3. 苹果应用程序
现在重新打包一次,没有任何报错了,但还是无法运行。后面发现单独运行打包好的app里MacOS文件夹生成的exec文件,会在终端显示错误代码,发现最后的问题是要把py代码里需要的文件放到app包下的Resources文件夹里(下图最右边的文件夹),最后再重新运行代码,顺利解决了。
4. 总结
python和pip版本真是个大问题,另外MacOS的一些操作也是我运气好撞出来的,不得不感叹。