Python 运行时:Flask/Django/FastAPI 直接在手机上启动
支持的场景
Python 的数据处理和机器学习生态在移动端几乎没有对应工具链,但 WebToApp 的 Python 运行时覆盖了以下需求:
- Flask / FastAPI:轻量 API 服务或演示项目
- Django:小型 Django 项目或管理后台演示
- 命令行工具 Web 界面:用 Python 做后端逻辑,WebView 做界面
- 数据处理展示:后端处理数据,前端(WebView)做可视化
创建流程
- 打开类型选择器(需开启高级功能),点「Python」卡片
- 在专属表单里:
- 选择项目目录
- 指定启动命令(Flask 是
flask run --host=127.0.0.1 --port=xxxx,Django 是python manage.py runserver 127.0.0.1:xxxx) - 指定端口号
- 在基本信息里填应用名称和图标
- 点击保存
pip 依赖安装
类似 npm install 和 composer install,Python 项目需要 pip install。WebToApp 内置原生 CPython 二进制和 pip,首次运行时在应用存储目录执行 pip install -r requirements.txt。
注意事项:
- 纯 Python 包(如 requests、flask、django)可以正常安装
- 原生扩展包(如 numpy、pandas、pillow)需要预编译的 arm64-v8a wheel。如果 pip 在手机上找不到对应平台的 wheel,会尝试从源码编译——arm64 源码编译经常失败
- 推荐在电脑上预先
pip download --only-binary=:all:对应 arm64 平台的 wheel 文件,放进项目里让 pip 从本地安装
内置示例项目
包含 Flask 入门示例,展示路由定义、模板渲染、请求处理。
Django 适配提示
Django 项目在 WebToApp Python 运行时里需要注意:
- runserver host:必须绑定 127.0.0.1
- settings.py 调整:ALLOWED_HOSTS 里加上 127.0.0.1;数据库推荐用 SQLite
- 静态文件:STATIC_ROOT 需要设置,并且项目启动前需要执行
python manage.py collectstatic
什么时候考虑 Go 替代
如果你的项目追求更好的移动端性能和更快的冷启动,可以考虑用 Go 重写后端逻辑。Go 编译成单个原生二进制,启动比 Python 解释器快很多,也不需要 pip install 这类依赖安装步骤。