close

使用Kivy評估

Kivy是開源Python函式庫,用於開發行動應用程式和其它採用自然使用者介面的多點觸控應用軟體。它可以在Android,iOS,Linux,OS X和Windows執行。採用MIT授權條款,Kivy是自由並且開源的軟體。 (資料來源:Kivy - 维基百科)
使用Python進行開發,結合Kivy開發APP,如不考慮效能,是可行方式。

評估要不要使用Kivy開發APP,先確定使用的package能不能被轉為APP程式,以Android系統為例,使用 p4a (Python-for-android)將Python程式打包成Android APK,有支援的Recipes才能被轉,否則package import會失敗。確認python-for-android的Recipes  https://github.com/kivy/python-for-android/tree/master/pythonforandroid/recipes  ,numpy、opencv有支援,沒有問題,但機器學習用的tensorflow、keras尚未支援(另一觀點手機資源有限,執行機器學習不一定適合),要能完全運用還有一段路要走。

 

在Anaconda成功安裝Kivy

安裝Kivy步驟如下(直接執行install kivy,目前還不完善,不建議用):

1.下載wheel檔。

2.安裝相依模組及Kivy,2行指令即可安裝成功。

 

步驟1:下載wheel檔

依所配合的Python版本,下載Windows使用的Python 3.6, 64bit或Python 3.7, 64bit的wheel檔。

(1)於Installation on Windows — Kivy 1.11.1 documentation Nightly wheel installation章節,下載Python 3.6, 64bit及Python 3.7, 64bit等所需版本。

(2)或於Kivy.PyPI 下載Kivy-1.11.1-cp36-cp36m-win_amd64.whl 或 Kivy-1.11.1-cp37-cp37m-win_amd64.whl等所需wheel檔。

 

2.安裝相依套件及Kivy

於Anaconda Prompt執行以下兩指令(假設需安裝於Python 3.6,下載的Kivy-1.11.1-cp36-cp36m-win_amd64.whl放在D:\Python\Download目錄):

>pip install kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle

>pip install D:\Python\Download\Kivy-2.0.0.dev0-cp36-cp36m-win_amd64.whl

 

進入指令模式:點要安裝的環境(例如已建立一個Python3.6環境),點選[Open Terminal]進入Anaconda Promp

kivy

當要使用Python版本是3.6與Anaconda預設版本不同時,需要新增一個python 3.6環境,新增python的環境方式參考: 在Windows 10 Anaconda新增不同版本Python環境@ KOEI的旅行:: 痞客邦:
 

執行上述2指令,即可完成安裝。

kivy

Successfully installed Kivy-2.0.0.0 

 

步驟3:以Spyder執行Kivy程式。

(1)安裝Spyder:在已安裝Kivy的環境下,Spyder項目下點選[Install],完成安裝Spyder

kivy

(2)Spyder顯示為[Launch],表示可以使用了。

kivy

(3)執行Kivy的Hello world程式

import kivy
from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):

    def build(self):
        return Label(text='Hello world')

if __name__ == '__main__':
    MyApp().run()

kivy

正確執行。(如果執行失敗,顯示SyntaxError: invalid character in identifier,表示該行前面的空白有問題,需重新調整)

kivy

 

安裝不完全狀況:

執行conda install kivy -c conda-forge,雖kivy安裝成功,但相依套件似乎沒裝好,有時顯示

sdl2 - ImportError: DLL load failed: 找不到指定的模組

此時建議先移除相依套件及kivy。

>python -m pip uninstall -y kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle
>python -m pip uninstall -y kivy

再依步驟2安裝

>pip install kivy.deps.glew kivy.deps.gstreamer kivy.deps.sdl2 kivy.deps.angle

>pip install D:\Python\Download\Kivy-2.0.0.dev0-cp36-cp36m-win_amd64.whl

 

有時已安裝kivy,卻顯示ModuleNotFoundError

ModuleNotFoundError: No module named 'kivy.app'; 'kivy' is not a package

此時有可能是環境變數問題,於Anaconda Prompt執行

>pip show kivy

會顯示Location,列如Location: c:\users\XXXXXX\anaconda3\envs\python3.6\lib\site-packages

將該路徑加入環境變數PATH中即可。

 

arrow
arrow

    KOEI 發表在 痞客邦 留言(0) 人氣()