百萬年薪的工程師 是怎樣用 Python 輕鬆開發 APP?

百萬年薪的工程師 是怎樣用 Python 輕鬆開發 APP?
▲用 Python 輕鬆開發 APP(圖/翻攝自機器人網,下同)

【原文:《百萬年薪的工程師 是怎樣用 Python 輕鬆開發 APP?》,智慧機器人網編輯整理】

文、圖/機器人網

本文是機器人網採訪最近火爆的AI公司內部程序員的故事。本文主人公做AI有三四年了,年薪已經過百萬,雖然是從程序員開始的,現在已經不再寫程序,偏向AI的流程化,項目化,但是對AI相關的編程,特別是Python還是情有獨鍾。下面我們來看看他給我們講怎樣用Python快速輕鬆的開發App。

來到AI獨角獸公司KS科技很久了,雖然薪水較高,很久之前我就想開發一款app玩一下,不過因為AI項目很忙,因此一直沒去弄。最近有了一點時間,就想著Appy也可以用python來開發,谷歌查找之後找到了很多方法,而且目前也有很多相當成熟的module,因此就開始乾活,不過,過程中踩了不少坑,好在谷歌給力,都能解決。記錄下來,yi。

後話

雖然Python語言很流行,也很萬能,但是開發App,可是需要看具體場景和應用需求的,不能什麼項目產品都想著用python來開發,python適合開發一些輕量級、工具性的AI工具App。

準備

用Python開發App需要用到一個module:kivy,kivy是跨平台開源的Python框架,用於開發運用創新的使用順序。簡單來說,是Python桌面順序的開發框架(類似wxpython module),kivy支持windows、android、ios、linux、mac跨平台,這是開發app需求用到這個模塊的原因。

雖然kivy跨平台,但要想在不同的平台運用代碼,還需要將Python的code打包成相應平台的可執行序列,可喜的是kivy project下有個打包工具:Buildozer,這是官方推薦的,由於比較複雜,自動化水平高,其他的project譬如:python-for-android也可以起到類似的作用,這裡不再展開說明。

需要在PC端安裝kivy開發環境,這裡演示下mac與linux下的安裝過程。

Mac下的安裝

1、安裝依賴包:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

2、安裝測試:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

注意:導入kivy模塊,如果沒有報錯,說明已經安裝成功了。

CentOS 7 下的安裝

1、安裝依賴包:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

2、安裝cython和kivy:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

kivy 開發你的第一個Python App

kivy安裝完成後就能夠開發App了,現在演示編程入門常見的hello-world程序,kivy更複雜的語法使用等本文不做重點介紹。

1、創建main.py文件,並寫入:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

2、創建hello.kv文件,並寫入:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

簡要說明:main.py為入口函數,定義一個HelloApp的類,這個類繼承自kivy.app;hello.kv文件為kivy程序,相當於界面風格定義,該文件的命名原則為:類名小寫,且去除app。

運行第一個python app

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

運行結果:

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

安裝buildozer工具

以上編碼後,我建立了自己的第一個Python App序列,該序列可以間接的運轉在windows、mac、linux平台下,怎樣讓它在目前的移動端:安卓和蘋果手機上運行呢?

我們知道在安卓上運行,需要把它打包成apk,因此需要用到後面提到的工具:buildozer,(buildozer可以打包kivy,支持android、ios),buildozer的安裝進程比較複雜:

pip install buildozerPython開發一個APP居然如此之簡單? (文末附贈python教程分享)

使用buildozer將kivy序列打包成apk文件

在Python項目的目錄下運行:

buildozer init

運行成功會建立一個配置文件buildozer.spec,能夠修正配置文件更改app的名稱等,然後再運行:

buildozer android debug deploy run

1

運行以上命令後會生成跨平台的安裝包,可以用在Android、iOS等上門,假如用再Android上,則是應用python-for-android的項目。

在第一次運行命令時,會自動下載Android的sdk等必需的文件,如下面圖示。(可能需要翻牆,有很多依賴包也需要下載)

Python開發一個APP居然如此之簡單? (文末附贈python教程分享)

熱門標籤

留言

延伸閱讀