[Kivy] 在 PyCharm 建立 Kivy 的開發環境
在挑選配合 Python 的 GUI Framework 時,Qt 和 Kivy 則是在眾多的 Framework candidates 中,最後留下細細研究的兩個 ,經過了開發環境的安裝以及淺嚐 "Hello World”App 的建立後,最最最後~,我決定了 Kivy。
原因如下:
MIT License
Open Source on GitHub
Cross-Platfrom, Kivy App can run on Windows, Linux, OSx, Android, iOS and RaspBerry Pi
Built-in OpenGL ES for GPU Accelerated
Kivy - 簡介
What is Kivy ? Kivy Introduction,這些問題我就交給 Kivy 官方網站了!
因為 Kivy 的官網以及它 WiKi上的 Documents 都提供相當多的資訊了,想對 Kivy 有初步的了解,是足夠的。
在 PyCharm 建立 Kivy 的開發環境 (On Windows 10)
Kivy 的開發環境,基本上是建立在 Terminal Mode,對於 IDEs 的開發環境倒是沒有多加說明。在 PyCharm 建立 Kivy 的開發環境,Kivy 雖有說明,我是有看沒有懂啊!於是就將自己的建立過程做了以下紀錄,分享給大家。
Step 1 - 安裝 Python
首先就是點這連接 Download and Install Python 安裝 Python。
Step 2 - 建立 Virtual Environment (VM) for Kivy
python -m virtualenv kivy_venv
開啟 Windows 的 terminal,然後選定或建立一個資料夾,接著在選定的資料夾下執行上面 Command,來建立 kivy 要使用的 VM。
以我為例,我是將 PyCharm 要用的 VM 都建立在 PyCharm 的工作目錄下,下圖可以看到我建立了 3 個 VM,分別用於 Kivy,MicroPython 以及 normal python。
下圖則是 Kivy VM 的檔案結構
Step 3 - 激活 Kivy VM
kivy_venv\Scripts\activate
Kivy VM 建立好後,還不能使用,必須激活 (activate) 它,方法就是在 Kivy VM 的目錄下,執行上面 Command。
Step 4 - 安裝 Kivy 以及範例
python -m pip install kivy[base] kivy_examples
執行上面 Command,就能安裝 Kivy 基礎的 (base) 套件,若想要多安裝其他套件或完整套件,則可以在中括號內,改成 [base, media] 或是 [full]。
通過以上 4 步驟就完成 Kivy Framework 的安裝了,基本上你已經可以在 Terminal 開發 Kivy App 了。
剛才的 Kivy 安裝步驟裡,也包含範例的安裝,執行以下 Command 就能驗證你是否有安裝正確,以及觀看 Kivy GUI 的 Demo 喔!
python kivy_venv\share\kivy-examples\demo\showcase\main.py
PS: 以上 Install Kivy 以及建立 Kivy VM 更詳細的操作步驟,請參考 Kivy.org 的 Installing Kivy 說明網頁。
Step 5 - 在 PyCharm 建立 Kivy 專案 (Project)
打開 Pycharm 後,請點選 File -> New Project 來建立新專案。
接著在建立新專案視窗 ,如下圖紅色框,選擇 “Existing interpreter”,其x路徑就是你在 Step 2 建立 Kivy VM 下 python.exe 存在的目錄路徑。
順利完成新專案的建立後,點選 File -> Settings > Project ,應該就能看到和下圖一樣是使用 Kivy VM 的設定了。
Step 6 - Copy & Paste then Run HelloWorld.py App
在還不了解如何撰寫 Kivy App 前,可以複製貼上,下面 “Hello World”的範例原始程式碼,來驗證 Kivy 在 PyCham 的執行環境。
'''
Application example using build() + return
==========================================
An application can be built if you return a widget on build(), or if you set
self.root.
'''
import kivy
kivy.require('1.0.7')
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
# return a Button() as a root widget
return Button(text='hello world')
if __name__ == '__main__':
TestApp().run()
順利的話,你應該能看到和下圖一樣的結果。