在你的 Android 手機上創建和運行 Python 應用
學習和使用 Python 是很有趣的。由於它越來越受歡迎,有越來越多的方式可以讓計算世界比現在更好。
想像一下,只需一個 Android 移動設備和開源工具,就可以構建和運行一個 Python 應用,無論是開發一個命令行工具從互聯網上獲取你最喜歡的文章,還是啟動一個直接在掌上設備運行的網頁伺服器,所有這些都可以實現。這將完全改變你對移動設備的看法,將它從一個僅僅讓你消費內容的設備變成一個幫助你發揮創造力的設備。
在本文中,我將演示運行和測試一個簡單的 Python 應用所需的所有的工具、軟體包、步驟和各種零零散散的東西。我使用 Flask 框架來創建一個簡單的 「Hello, World!」 應用,並在一個簡單而強大的網頁伺服器上運行。最棒的是,這一切都發生在手機上。不需要筆記本或台式機。
在 Android 上安裝 Termux
首先,安裝 Termux 應用程序。Termux 是一個強大的終端模擬器,它提供了所有最流行的 Linux 命令,加上數百個額外的包,以便於安裝。它不需要任何特殊的許可權,你可以使用默認的 Google Play 商店或開源應用倉庫 F-Droid 來安裝。
安裝 Termux 後,啟動它並使用 Termux 的 pkg
命令執行一些必要的軟體安裝。
訂閱附加倉庫 root-repo
:
$ pkg install root-repo
執行更新,使所有安裝的軟體達到最新狀態。
$ pkg update
最後,安裝 Python:
$ pkg install python
安裝和自動配置完成後,就可以構建你的應用了。
在 Android 上構建一個 Android 應用
現在你已經安裝了一個終端,你可以在很大程度上像使用另一台 Linux 電腦一樣使用你的 Android 手機。這很好地展示了終端到底有多強大。
首先創建一個項目目錄:
$ mkdir Source
$ cd Source
接下來,創建一個 Python 虛擬環境。這是 Python 開發者的常見做法,它有助於讓你的 Python 項目獨立於你的開發系統(在本例中是你的手機)。在你的虛擬環境中,你將能夠安裝特定於你應用的 Python 模塊。
$ python -m venv venv
激活你的新虛擬環境(注意,開頭的兩個點用空格隔開)
$ . ./venv/bin/activate
(env)$
請注意你的 shell 提示符現在以 (env)
開頭,表示你在虛擬環境中。
現在使用 pip
安裝 Flask Python 模塊。
(env) $ pip install flask
在 Android 上寫 Python 代碼
你已經準備好了。現在你需要為你的應用編寫代碼。
要做到這一點,你需要有經典文本編輯器的經驗。我使用的是 vi
。如果你不熟悉 vi
,請安裝並試用 vimtutor
,它(如其名稱所暗示的)可以教你如何使用這個編輯器。如果你有其他你喜歡的編輯器,如 jove
、jed
、joe
或 emacs
,你可以安裝並使用其中一個。
現在,由於這個演示程序非常簡單,你也可以直接使用 shell 的 heredoc 功能,它允許你直接在提示符中輸入文本。
(env)$ cat << EOF >> hello_world.py
> from flask import Flask
> app = Flask(__name__)
>
> @app.route('/')
> def hello_world():
> return 'Hello, World!'
> EOF
(env)$
這隻有六行代碼,但有了它,你可以導入 Flask,創建一個應用,並將傳入流量路由到名為 hello_world
的函數。
現在你已經準備好了網頁伺服器的代碼。現在是時候設置一些環境變數,並在你的手機上啟動一個網頁伺服器了。
(env) $ export FLASK_APP=hello_world.py
(env) $ export FLASK_ENV=development
(evn) $ python hello_world.py
啟動應用後,你會看到這條消息:
serving Flask app… running on http://127.0.0.1:5000/
這表明你現在在 localhost(也就是你的設備)上運行著一個微型網頁伺服器。該伺服器正在監聽來自 5000 埠的請求。
打開你的手機瀏覽器並進入到 http://localhost:5000
,查看你的網頁應用。
你並沒有損害手機的安全性。你只運行了一個本地伺服器,這意味著你的手機不接受來自外部世界的請求。只有你可以訪問你的 Flask 伺服器。
為了讓別人看到你的伺服器,你可以在 run
命令中加入 --host=0.0.0.0
來禁用 Flask 的調試模式。這會打開你的手機上的埠,所以要謹慎使用。
(env) $ export FLASK_ENV=」」
(env) $ flask run –host=0.0.0.0
按 Ctrl+C
停止伺服器(使用特殊的 Termux
鍵來作為 Ctrl
鍵)。
決定下一步怎麼做
你的手機可能不是一個嚴肅的網頁應用的理想伺服器平台,但這個例子證明了可能性是無限的。你可能會在 Android 手機上編程,只是因為這是一種方便的實踐方式,或者因為你有一個令人興奮的本地化網頁應用的新想法,或者你只是碰巧使用 Flask 應用來完成自己的日常任務。正如愛因斯坦曾經說過的「想像力比知識更重要」,對於任何一個新手編碼者,或者一個經驗豐富的 Linux 或 Android 愛好者來說,這是一個有趣的小項目。它可以擴展到無窮的層次,所以讓你的好奇心接手,並做出一些令人興奮的東西!
via: https://opensource.com/article/20/8/python-android-mobile
作者:Phani Adabala 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive