树莓派创建可执行程序以及其桌面快捷方式(图标自定义)

参考链接:https://blog.csdn.net/weixin_44086593/article/details/88284276
https://blog.csdn.net/rong81117/article/details/82745753
https://blog.csdn.net/lpl_lpl_lpl/article/details/80869322
windows平台打包.py程序为.exe程序见:https://blog.csdn.net/zhurui_idea/article/details/77232175

官网www.pyinstaller.org下载Pyinstaller安装包;

我用的下载地址如下:
https://codeload.github.com/pyinstaller/pyinstaller/legacy.tar.gz/develop
下载下来之后再解压,我下的版本是PyInstaller-3.5,解压后如下:
在这里插入图片描述
控制台中,CD到该文件夹,切换到root权限(sudo su)
执行python setup.py install进行安装 (我这里的python声控程序需要在python2.7下面执行,所以用的这句,根据实际需求,如果你是python3的话,那么用这句:python3 setup.py install),安装好后,然后再切换回pi用户(sudo su pi)

执行pyinstaller *.py打包为可执行程序,加-F为打包成单个文件

在这里插入图片描述
在这里插入图片描述
显示成功后,在dist文件中可找到含该文件的文件夹:
在这里插入图片描述
我这里有两个程序都自己建了快捷方式,所以有两个文件夹(加-F就只是两个文件了,后来证实还是打包成单个文件好)
在这里插入图片描述
如果加-F打包成单个文件如下图,(区别是单个文件的大小为6.6M,可放到任何地方运行。而用上面不加-F方式生成的可执行文件大小只有1.9M,只能放到其原生的文件夹内运行,如果移动到其它目录则没法运行):
在这里插入图片描述
进入文件夹如下(可执行文件大小只有1.9M,只能在此文件夹内运行):
在这里插入图片描述
自己随便找一个logo图片,我找的是brower.jpg(如上图所示),大小22k,
在这里插入图片描述
然后在此文件夹中创建一个空文件,并将后缀名改为.desktop,
在这里插入图片描述

里面内容如下:
在这里插入图片描述
[Desktop Entry]
Name=VoiceBrower
Comment=voice open brower
Exec=/home/pi/aip-baidu-test/dist/VoiceBrower/VoiceBrower
Icon=/home/pi/aip-baidu-test/dist/VoiceBrower/brower.jpg
Terminal=true
Type=Application
Categories=Application;Development;

加入内容以后,再保存,自动生成如下快捷方式文件:
在这里插入图片描述
位置如下:
在这里插入图片描述
此时,此文件将不可再打开编辑,双击即可运行(右键菜单 打开 也是运行),把它拷贝到桌面即可在桌面双击运行了。
在这里插入图片描述

备注:我遇到了通过python命令行在终端执行,能够通过,但打包后运行到录音结束时,闪退(看不到任何错误信息),不得其解,后来在终端通过进入相应目录,执行 ./VoiceBrower,输出了错误信息,原来是print (word) 一句有问题。那我就知道肯定是因输出的word变量中含有汉字,可第一版(此时还是用的第一版,上边的那个,无法显示汉字的,至于为何命令行可以正常运行,打包后的不行,那就不管它了,直接换成下边的那个先进的版本的,然后发现就正常了。哈哈,看来还是用UTF-8声明的比较好啊)
在这里插入图片描述

另外说一下 cd /usr/share/applications
如果放一份快捷方式文件在这里,那么在开始菜单中就有我的程序了额。
在这里插入图片描述
在这里插入图片描述

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值