知识储备之用py2app将Python代码打包成MacOS可用的APP
自己电脑上有完整的python环境,所以偶尔写个小工具什么的都很easy,直接命令行run一波就OK,但是如果需要再朋友的电脑上运行,帮别人写了一个小工具,他没有运行环境,就很麻烦。不能让人家也从homebrew开始全都配置一遍吧。
这时候就需要将代码做成一个简单的GUI APP。
常用的python GUI库有 PySimpleGUI 或者 QT。 开发难度差别不大,一些简单的输入输出都没问题。
但是在打包的过程中,如果使用PySimpleGUI会遇到一些麻烦,它是依赖于 tkinter 库,也就是要有tcl环境,如果目标机器上没有tcl环境,在运行时就会出现无法启动的问题。(别问我怎么知道的,这个问题花费了两个小时去google搜,尝试解决,都不好用,什么复制tcl文件夹到某个lib路径,都不好用)
而如果使用QT,就没有运行时的问题,直接打包之后就可以用了。
简单记录一下步骤,留作备忘。编写代码运行生成setup命令py2applet --make-setup your_file.py 复制代码
这时候会生成一个setup.py文件
3.编辑 setup.py文件""" This is a setup.py script generated by py2applet Usage: python setup.py py2app """ from setuptools import setup APP = ["your_file.py"] DATA_FILES = [] OPTIONS = { "iconfile":"your_logo.icns", "plist": { "CFBundleName" : "应用名", # 应用名 "CFBundleDisplayName": "应用显示名", # 应用显示名 }, "includes": ["PyQt6", "xxxxxx", "xxxxx"] } setup( app=APP, data_files=DATA_FILES, options={"py2app": OPTIONS}, setup_requires=["py2app"], ) 复制代码执行生成app命令python3 setup.py py2app 复制代码
会生成一个dist文件夹,里面就有可执行的APP了。
从我自己的掘金账号里同步过来的,哈哈。
作者:大橙子打游戏
链接:https://juejin.cn/post/7106459813411815461
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
年轻时所有的放纵,都是中年以后的困局人们常说,出来混,迟早都是要还的。人生的公平,就在于你无度地挥霍你的青春,就要为你的无知买单,使得你后半生陷入困顿。你拼搏的青春,会让你后半生更加顺畅。茨威格说她那时还太年轻,不知
00后大学生低情商辞职信走红,直接开门见山,场面话直接略过文艾小贝爱教育00后大学生辞职就是想直接走的,十分干脆。90后毕业生已经完全变成了不同岗位中的中坚力量,00后大学生正式变成了正当年的年轻力量,00后的最早一批,已经正式完全了大学
中国传统村落数字博物馆山水间里的盘塘不止山水视频加载中编者按中国传统村落数字博物馆是百科式全景式传统村落展示的数字化平台,是向世界宣传中国传统村落的舞台,是世界了解中华农耕文明的窗口。张家界市地处武陵山腹地,是土家族白族等少
年轻冲动的代价(上)头条创作挑战赛一个人安静地坐着,听着忧伤的歌曲,很想为雪儿写些什么,同时也是一种忏悔。我不想去过多责怪自己,在这种骚动困惑的年龄,谁都会犯错。我,也不可能避免。认识雪儿其实很偶然,
这篇退休书一夜间火了!收藏好常看看!100受益时光缓缓前行,在这个让我们哭和笑的世间,留不住永远的生命,挡不住容颜的衰老。尝尽酸甜苦辣,我们会发现,变老也是一种风景,即便退休,也有我们专属的快乐和幸福。人生向晚之时,怎么过才算
看见糖果会笑,看见妈妈会想拥抱看看镜子里的自己,头顶上竖起来的年龄标签你看到了吗?孩子时我们将头发梳成大人模样装成熟,成年后逐渐老去时我们又开始寻找童真。当孩子多好啊,想吃吃,想睡睡,想哭了就放声大哭,想笑了就
致最亲爱的家人,三年不易,阳光在风雨后启航我想对你说大疫三年,我们蹒跚走过,还记得2019年年底档口打烊,欢天喜地回家过年,心揣着一年的收获,回到了爸妈孩子身边,心里还有对2020年的憧憬,幸福知足溢于言表。到家没几天
学生在超市排队等结账,结果全给免单了珠海科技学院超市免单在学生朋友圈刷屏了昨天下午该校1名学生核酸检测结果异常学校立即启动疫情防控应急处置预案当时一些同学正在超市购物为了让同学们尽快返回宿舍在现场的学校领导决定同学们
乱拳差点儿砸死老师傅加拿大队0比1憾负上届季军京报体育记者李远飞尽管卢卡库因伤作壁上观,但没人敢否定上届季军比利时队中前场的豪华度。然而北京时间11月24日凌晨进行的2022卡塔尔世界杯F组首轮比赛中,面对年轻的加拿大队,他们
每日英语日更Adestructivehabittohaveisbelievingthatyouhavetobemotivatedtoact。Itsnotaproblemwhenyouwould
每天记录打坐感悟2打坐完饿了每天10点半做打坐准备,压腿松腿晃腿,祈求打坐顺利,坐在一寸半高的坐垫上。我是不会双盘的,单盘也不太规矩,只是尽量把已经不再年轻的胳膊腿摆布成舒服点能坐久一些的姿势。把心放平静,起