Python Kivy(App開發) Windows安裝打包步驟


源於: https://blog.csdn.net/qq_37030400/article/details/107620264?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-6-107620264.nonecase&utm_term=kivy%20pycharm%20%E6%89%93%E5%8C%85

一、准備工具

  1. Pycharm ,也可以用Jupyter或者其它編輯器代替,只是一個編輯器罷了;
  2. 虛擬機**VirtualBox**,我下載的是Windows平台的;
  3. 插件:Oracle_VM_VirtualBox_Extension_Pack-4.3.12-93733.vbox-extpack,kivydev.ova(VirtualBox附帶);

二、安裝kivy

可以在CMD運行框內鍵入pip install指令安裝kivy,然后用在Jupyter上進行編輯。由於我用的編輯器主要是Pycharm,所以我在Pycharm上安裝。

1.在cmd命令框內鍵入(使用Jupyter的用戶參考)

pip install Kivy-1.11.1-cp37-cp37m-win_amd64.whl pip install kivy_deps.glew-0.2.0-cp37-cp37m-win_amd64.whl pip install kivy_deps.gstreamer-0.2.0-cp37-cp37m-win_amd64.whl pip install kivy_deps.sdl2-0.2.0-cp37-cp37m-win_amd64.whl 

 

2.在Pycharm里安裝kivy
angle也可以不安裝
[注]angle也可以不安裝

或者在Pycharm的命令框里安裝,和CMD里安裝是一樣的。
在這里插入圖片描述
同樣在里面鍵入

pip install Kivy-1.11.1-cp37-cp37m-win_amd64.whl pip install kivy_deps.glew-0.2.0-cp37-cp37m-win_amd64.whl pip install kivy_deps.gstreamer-0.2.0-cp37-cp37m-win_amd64.whl pip install kivy_deps.sdl2-0.2.0-cp37-cp37m-win_amd64.whl


三、安裝虛擬機

1.下載VirtualBox以后,安裝到自定義的目錄下(強烈建議全英文)

2.安裝插件:雙擊Oracle_VM_VirtualBox_Extension_Pack-4.3.12-93733.vbox-extpack文件,就能安裝。

四、建立共享文件夾

因為虛擬機無法和Windows直接交互,所以文件傳輸必須依靠共享文件夾進行)。

我在這里創建了一個VirtualDisk文件夾作為共享文件夾
【這一步可以理解為創建一個空白文件夾】,我們需要記住它的位置。
在這里插入圖片描述
然后將之前下載好的kivydev.ova復制到這個文件夾里(不復制也可以,但是要保證所有文件的路徑都是英文路徑)

五、導入kivydev.ova系統

安裝完成的虛擬機是沒有任何系統的,此時需要導入kivydev.ova系統。在這里插入圖片描述
在【管理】菜單下,點擊【導入虛擬電腦】
在這里插入圖片描述
選擇下載好的kivydev.ova文件
在這里插入圖片描述
導入
在這里插入圖片描述
等兩三分鍾就可以完成導入。
在這里插入圖片描述
導入完成。
在這里插入圖片描述

六、配置虛擬機

點擊設置,進入虛擬機的設置界面,然后找到最下面的【共享文件夾】,點擊右邊的加號,添加共享文件夾位置。
在這里插入圖片描述
粘貼我們之前創建的【共享文件夾】位置,將【自動掛載】打勾,點擊確定,配置完成。
在這里插入圖片描述
其它配置可以調節運行內存(我比較喜歡設為1024),顯存(我設置為128)等等,也可以不動。

至此,我們已經完成了kivy安裝和虛擬機部分的安裝,接下來就要寫一個寫一個程序,進行打包測試。

七、編輯一個kivy程序進行測試

可以將我的代碼復制到Pycharm里進行編譯,編譯沒問題的話將文件復制到共享文件夾內,重命名為“main.py”,方便下一步在虛擬機內進行調用。
這是一個簡易畫板功能的代碼。

from kivy.app import App from kivy.uix.widget import Widget from kivy.graphics import Color,Ellipse,Line from random import random from kivy.uix.button import Button class MyWidgetWidget(Widget): def on_touch_down(self, touch): color=(random(),random(),random()) with self.canvas: Color(*color) touch.ud['Line']=Line(points=(touch.x,touch.y),width=5) def on_touch_move(self, touch): touch.ud['Line'].points=touch.ud['Line'].points+[touch.x,touch.y] class MyPaintApp(App): def build(self): parent=Widget() self.painter=MyWidgetWidget() clearbtn=Button(text="Clear") clearbtn.bind(on_release=self.clear_canvas) parent.add_widget(self.painter) parent.add_widget(clearbtn) return parent def clear_canvas(self,obj): self.painter.canvas.clear() if __name__=="__main__": MyPaintApp().run() 

 

運行效果(按住鼠標左鍵隨便在畫布上畫幾筆):
在這里插入圖片描述

在這里插入圖片描述

八、打包成Apk文件

打開我們創建完成的虛擬機。點擊啟動。
在這里插入圖片描述
加載會比較慢,耐心等待到進入Linux桌面。
在這里插入圖片描述

如果出現錯誤,cancel掉就可以繼續了。
在這里插入圖片描述
打開桌面的File System,接着點擊左邊欄sf_VirtualDisk(我們之前創建的共享文件夾)。里面有我們保存的"main.py"和"kivydev.ova"。
在這里插入圖片描述
點擊左邊欄kivydev目錄下找到kivy,在kivy目錄下進入accordion。再將"main.py"復制到當前目錄下(即**/home/kivydev/kivy/accordion/**目錄下)。它會覆蓋此目錄下的示例——一個main.py文件。因為打包的時候,主程序的名字都是main.py。
在這里插入圖片描述
右擊空白區域,打開 Open Terminal Here命令框。
在這里插入圖片描述
在這里插入圖片描述
(如果目錄下沒有buildozer.spec文件,執行這一步)在此框內鍵入

buildozer init
  • 1

生成一個buildozer.spec文件
在這里插入圖片描述
接着再輸入命令

gedit buildozer.spec 
  • 1

打開buildozer.spec文件,主要修改Title(應用名字,我設置為SamplePainter),package.name(打包名,同樣設置成SamplePainter),package.domain(打包成哪一種ios或者安卓,這里我不改,默認打包成安卓文件)。其余的建議暫時不要修改。
在這里插入圖片描述
修改完成后保存 Save,關閉文件,回到命令框。
在這里插入圖片描述
在命令框內鍵入:

buildozer android_new debug
  • 1

進行打包,此過程需要等待幾分鍾。
在這里插入圖片描述
打包完成,按照提示的地址尋找打包后的文件。
在這里插入圖片描述
關閉命令框,在bin文件夾下看見我們的應用SamplePainter,另一個MyApplication是示例文件,不予理會。
在這里插入圖片描述
把這個文件復制到共享文件夾內。
在這里插入圖片描述

九、發送到手機並安裝

回到Windows,打開我們的共享文件夾VirtualDis,可以看見創建的SamplePainter.apk文件。
在這里插入圖片描述
把文件發送到手機,【注意】如果文件名后綴不是apk,請手動重命名為apk后綴。安裝到手機。

在這里插入圖片描述

打開App,看看效果:
在這里插入圖片描述
還可以。

十、總結

kivy功能不算強大,但是很便捷,可以把想法快速部署到移動端,希望大家創造自己獨特的App!有空再寫寫我的kivy小項目嘿嘿!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM