使用 Termux 和 Flask 在你的移動裝置上建立、開發和運作一個網頁應用。
學習和使用 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 愛好者來說,這是一個有趣的小項目。它可以擴充到無窮的層次,是以讓你的好奇心接手,并做出一些令人興奮的東西!