樹莓派創建可執行程序終極篇

上一篇:https://blog.csdn.net/weixin_44345862/article/details/103914336 能解決一般的打包問題(播放歌曲的,或引入訓練模型的等等 一些運行的時候需要讀入外部資源的,用上一篇的方法解決不了),但我偶遇到了一個帶資源的,如下圖,運行時需要喚醒詞文件Hey_yahboom.pmdl,直接打包的84M,且不能運行!
在這裏插入圖片描述
針對以上的有一個簡單粗暴的解決辦法,往後只要是能在終端用指令運行的,使用以下方法都可以打包成自動運行的可執行文件。我稱之爲:間接法!
新建talk.py文件(也可建一個.txt文件,保存後改後綴名爲.py就行),輸入以下內容:
import os

os.system(‘source ~/env/bin/activate’)
os.system(‘cd /home/pi/4mics_hat’)
os.system(‘python ns_kws_alexa_GPIO.py’)
保存,然後終端中進入此文件夾,輸入:
pyinstaller -F talk.py
打包,成功後,會生成dist文件夾和內部的talk可執行文件(3.6M),如下圖:
在這裏插入圖片描述
在dist文件夾下直接運行不行,會提示找不到ns_kws_alexa_GPIO.py文件,把此可執行程序拷貝到上一級目錄,然後運行,一切正常,如下:
在這裏插入圖片描述
接着做桌面快捷方式,找個圖標Talk.png,
在這裏插入圖片描述
新建talk.desktop,輸入以下內容:
[Desktop Entry]
Name=talk
Comment=weather stock music talk and so on
Exec=/home/pi/4mics_hat/talk
Icon=/home/pi/4mics_hat/Talk.png
Terminal=true
Type=Application
Categories=Application;Development;

保存,變成如下不可編輯的快捷方式模樣:
在這裏插入圖片描述
接着就可以把此快捷方式隨意放到任何地方去運行它所指向的程序了。後來發現 這個方法會閃退,因缺參數,但如果直接運行talk可執行文件的話,沒問題。還是考慮pyinstaller的時候,把圖標加進去吧。語句如下:
pyinstaller -F -i test.ico test.py

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章