老柯修机铺

通讯行老师傅的手机软件笔记——每款 App 装过、用过,才敢写下来

QPython 深度盤點——手機上也能跑 Python 的完整開發環境

QPython 把 Python 解釋器、AI 模型引擎與 Android API 整合進一個 73MB 的 APK,從終端到本機大模型,到底能做多少事?

QPython 是什麼——把 Python 開發環境塞進手機的 App

QPython官网 是專為安卓平台打造的 Python 開發環境,由北京優趣天下推出,目前最新版本 4.0.1,安裝包大小約 73MB。它不是單純的解釋器移植——而是把一套完整的 Python 工具鏈打包進一個 APK:從 REPL 終端、代碼編輯器、Jupyter Notebook 互動式編程,到深度整合 Ollama 的本機大模型引擎,再加上一套叫 QSL4A 的 Android 系統 API 橋接層。

換句話說,QPython 讓你在手機上寫 Python 腳本、跑本地 AI、操作系統級功能,全部在一個 App 裡完成。這種定位和市面上大多數 Python 手機版不同——後者要嘛只做一個簡單的代碼運行器,要嘛需要雲端資源支援,QPython 的核心賣點是「離線、本地、完整」。

安裝

QPython下載 APK 後點擊安裝即可,不需要額外配置編譯工具鏈或 Python 運行時。但有幾件事是這款軟體專屬的前置動作,不能省。

首次打開 App 時會自動完成 Python 解釋器的快速校驗,接著彈出一批權限申請。Android 13+ 以上的系統對權限分組更嚴格,QPython 會一次性請求存儲讀寫、位置、相機、麥克風、網路、藍牙、NFC、懸浮窗、前台服務共九項權限。建議除了麥克風(可選)之外全部授權——後續功能調用時才不會反覆彈窗或靜默失敗。

進入主界面後,到設置裡把「後台保護 / 電池優化忽略」這項打開。MIUI、ColorOS、OneUI 這些 ROM 預設會在後台殺死 QPython 的長駐腳本,這一勾是運行穩定性的關鍵。另外確認一下預設存儲路徑和擴展鍵盤條(編輯器底部的關鍵字符號鍵盤)已開啟——這兩項直接影響寫代碼的效率。

完成以上步驟後,打開終端輸入 print("Hello QPython"),看到輸出就代表環境就緒。

QPython 終端與編輯器界面

能力域一:Python 解釋器與開發工具鏈

這是 QPython 的底層基礎——它內建了完整的 Python 解釋器,支援實時代碼執行。打開底部「終端」按鈕進入 REPL 控制台,在 >>> 提示符後輸入代碼立即執行,這對快速驗證想法、測試函數返回值非常方便。

QEditor 是另一個核心入口——點擊底部「編輯器」按鈕進入代碼編輯界面,新建 .py 文件後寫代碼、保存、點 Run 按鈕執行。編輯器底部有一個擴展鍵盤條,提供 Python 常用的關鍵字和符號(縮排、冒號、括號等),避免在虛擬鍵盤上來回切換。

Jupyter Notebook 支援則是 QPython 4.0 新增的重要功能。你可以在手機上運行帶有 Markdown 單元格、代碼單元格和圖表輸出的互動式 Notebook——這對於數據分析、學習筆記整理來說,把 Python 的互動編程體驗直接搬進了手機。

能力域二:本機 AI 開發——Ollama 整合

QPython 4.0 最大的賣點是深度整合了 Ollama 框架,讓你在手機上直接運行主流大語言模型。這不是簡單的 API 調用——模型文件實際下載到本地,所有推理都在手機 CPU 上完成,完全離線、不走雲端。

下載模型有兩種方式:AI 界面的模型管理頁面一鍵下載(推薦,自動校驗完整性),或者用 ollama pull 命令行拉取官方列表之外的模型。手機存儲是空間上限——1B 量化模型約 0.6GB,3B 約 1.8GB,7B 約 4GB。建議至少預留 10GB 空間,同時只留 2~3 個常用模型就夠了。

運行速度取決於手機 CPU 和 RAM。中高端手機(驍龍 8 Gen 2)跑 1B 模型能達到 20~30 token/s,相當於每秒輸出 15~20 個中文字符,日常問答和簡單代碼生成完全可用。7B 模型在中高端機上只有 3~5 token/s,雖然慢但仍能勉強跑。這對離場面無需網路就能獲得 AI 能力來說,已經是一個非常實用的體驗。

能力域三:QSL4A——Android 系統 API 橋接

QSL4A(Python Script Layer for Android)是 QPython 獨有的一層 API 橋接,讓 Python 腳本能直接調用 Android 系統級功能。這是 QPython 和單純 Python 解釋器最大的區別之一。

系統服務接口涵蓋通知、剪貼板、屏幕控制、WiFi 管理、網路狀態檢查、設備信息獲取等幾十項功能。比如 droid.notify("腳本完成", "數據處理已結束") 就能在狀態欄發送一條持久通知,比 Toast 更可靠;droid.setClipboard() 和 droid.getClipboard() 讓腳本能和其他 App 通過剪貼板交換數據;droid.wakeUp() 和 droid.slumber() 可以控制屏幕的亮滅。完整 API 列表和示例可以在 QPython文檔 裡查到。

這些 API 背後都有權限依賴——通知需要 POST_NOTIFICATIONS(Android 13+),屏幕控制需要「修改手機狀態」敏感權限,WiFi 掃描需要位置信息。第一次啟動時授權的那九項權限,大多數就是為 QSL4A 鋪的路。

能力域四:文件與數據處理

在 Android 沙盒環境下操作文件是開發新手最常踩的坑。QPython 的腳本運行在自己的私有目錄裡,直接寫硬編碼路徑(如 /sdcard/Download/xxx.py)在很多手機上會失敗,因為存儲訪問框架不讓 QPython 越過沙盒訪問其他 App 的目錄。

最穩妥的策略是永遠用相對路徑——相對於當前工作目錄。QEditor 保存的 .py 文件、通過 open() 創建的新文件,預設都在當前工作目錄下。QSL4A 還提供了 droid.getExternalStoragePath() 來獲取可訪問的外部存儲根路徑,以及 droid.contentQuery() 查詢公共目錄的掛載點。

短板也要說

QPython 的優勢集中在手機端,但也有幾個明顯的局限:

首先是模型存儲空間壓力。73MB 的 APK 本身不大,但每個 AI 模型都是幾 GB 起跳,2~3 個模型就能吃掉 5~10GB 存儲。部分版本支援把模型路徑改到 SD 卡,但 Android 對 SD 卡的寫入速度限制會拖慢模型載入。

其次是計算性能的天花板。手機 CPU 跑本地大模型,7B 以上的模型在絕大多數場景下只是「能跑」而已,距離「好用」還有差距。離線是優勢,但代價是放棄了雲端更強的算力。

第三是 Android ROM 的各種限制。開源 MIUI、ColorOS、OneUI 這些 ROM 對後台進程、WiFi 開關、懸浮窗等功能都有額外管控,有些 API 在這些 ROM 上會靜默失敗,不是代碼寫錯而是系統不讓你調。

適用人群畫像

第一類是學生和自學編程者。在課間或通勤路上用手機寫一小段 Python、跑 Jupyter Notebook 做練習,比背著筆記本方便得多。配合本機 AI 可以隨時問代碼問題、驗證思路。

第二類是輕量自動化愛好者。用 QSL4A 寫腳本自動化手機操作——定時發通知、讀剪貼板觸發動作、掃描 WiFi 記錄位置——這些本來需要 Tasker 之類工具才能做的事,用 Python 就能實現,靈活性高很多。

第三類是離線場景下的 AI 使用者。沒有網路的地方(飛機、地鐵、偏遠地區)想問 AI 問題或讓 AI 幫寫代碼,QPython 的本機模型是少數真正能用的選擇。

綜合來看,QPython 在一個手機 App 的體積裡塞進了 Python 解釋器、AI 引擎和 Android API 三個能力域,定位明確——就是把手機變成一台離線可用的微型 Python 開發機。如果你需要的是輕量、隨身、離線,這是目前 Android 上最完整的方案之一。

本文为个人基于网络公开资料整理编写,非官方内容,仅供学习交流参考;软件版权归原作者所有,请支持正版;使用过程中遇到问题请查阅官方渠道,本文不承担任何责任。

同类文章

Pydroid 3 手機端 Python 開發完整指南

Pydroid 3 是一款專為 Android 手機打造的 Python 開發神器,支援離線執行、科學計算庫與 Kivy 圖形介面,讓你隨時隨地寫程式。

pydroid3 和同类 Python 手机工具比到底差在哪

手机写 Python 不是新鲜事,但能把科学计算栈和 GUI 框架全搬到 ARM 上的 App 没几个。本文把 pydroid3 放进同类坐标系里,说说它凭什么脱颖而出,又在哪些场景下你该选别的。