在你的安卓手机上创建并运行 Python 应用

使用 Termux 和 Flask 在你的移动设备上创建、开发和运行 Web 应用。
142 位读者喜欢这篇文章。
tux and android stuffed animals on shelf

Quinn Dombrowski 通过 Flickr。CC BY-SA 2.0

学习和使用 Python 是一件有趣的事情。由于其日益普及,它可以通过多种方式使计算世界变得比今天更好。

想象一下,构建和运行 Python 应用程序,无论是为了从互联网上获取你最喜欢的精选文章而开发的命令行工具,还是启动一个在你掌中运行的 Web 服务器,这一切都只需要一个安卓移动设备和开源工具。这将彻底改变你对移动设备的看法,将其从一个仅仅让你消费内容的设备转变为一个帮助你发挥创造力的设备。

在本文中,我将演示在任何安卓移动设备上构建、运行和测试一个简单的 Python 应用程序所需的所有工具、软件包、步骤以及所有必要的细节。我使用 Flask 框架 创建一个简单的 “Hello, World!” 应用,该应用运行在一个简单但功能强大的 Web 服务器上。最棒的是,这一切都发生在手机上。无需笔记本电脑或台式机。

在安卓上安装 Termux

首先,安装 Termux 应用程序。Termux 是一个强大的终端模拟器,它提供了所有最流行的 Linux 命令,以及数百个用于轻松安装的附加软件包。它不需要任何特殊权限。你可以使用默认的 Google Play 商店或开源应用仓库 F-Droid 进行安装。

Welcome to Termux

安装 Termux 后,启动它并使用 Termux 的 pkg 命令执行一些必要的软件安装

订阅附加仓库 “root-repo”

$ pkg install root-repo

 执行更新以将所有已安装的软件更新到最新版本

$ pkg update

最后,安装 Python

$ pkg install python

Install Python

一旦安装和配置的自动设置完成,就可以构建你的应用程序了。

在安卓上为安卓构建应用

现在你已经安装了终端,你可以在你的安卓手机上工作,很大程度上就像它是一台 Linux 计算机一样。这很好地演示了终端的强大功能。

首先,创建一个项目目录

$ 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

在安卓上编写 Python 代码

你已经完成了所有设置。现在你只需要编写你的应用程序的代码。

为此,你应该有使用经典文本编辑器的经验。我使用 vi。如果你不熟悉 vi,请安装并尝试 vimtutor 应用程序,它(顾名思义)可以教你如何使用这个编辑器。如果你有其他你喜欢的编辑器,例如 jovejedjoeemacs,你可以安装并使用其中一个。

现在,因为这个演示应用程序非常简单,你也可以只使用 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 的函数。

Vim on Android

现在你已经准备好了 Web 服务器代码。现在是时候设置一些 环境变量 并在你的手机上启动 Web 服务器了。

(env) $ export FLASK_APP=hello_world.py
(env) $ export FLASK_ENV=development
(evn) $ python hello_world.py

Running a Flask app on your phone

启动你的应用程序后,你将看到此消息

serving Flask app… running on http://127.0.0.1:5000/

这表明你现在有一个微型 Web 服务器正在 localhost(即你的设备)上运行。此服务器正在监听端口 5000 的请求。

打开你的移动浏览器并导航到 http://localhost:5000 以查看你的 Web 应用程序。

Your web app

你没有损害你手机的安全性。你只运行一个本地服务器,这意味着你的手机不接受来自外部世界的请求。只有你可以访问你的 Flask 服务器。

要使你的服务器对其他人可见,你可以通过在 run 命令中添加 --host=0.0.0.0 来禁用 Flask 的调试模式。这确实会在你的手机上打开端口,因此请明智地使用它。

(env) $ export FLASK_ENV=””
(env) $ flask run –host=0.0.0.0

Ctrl+C(使用 Termux 特殊按键控制键)停止服务器。

决定下一步做什么

你的手机可能不是严肃的 Web 应用程序的理想服务器平台,但这表明可能性是无限的。你可能会在你的安卓手机上编程,仅仅因为它是一种保持练习的便捷方式,或者因为你对本地化的 Web 应用程序有一个令人兴奋的新想法,或者你可能只是碰巧为你的日常任务使用 Flask 应用程序。正如爱因斯坦曾经说过“想象力比知识更重要”,这对于任何新的程序员或经验丰富的 Linux 或安卓爱好者来说,都是一个有趣的小项目。它可以扩展到无限的级别,所以让你的好奇心占据上风,创造一些令人兴奋的东西!

接下来阅读什么
标签
User profile image.
#!/Linux 爱好者/树莓派爱好者/园丁 从 C/UNIX 程序员到 Linux 管理员。Linux 变成了一种激情,自 Fedora 诞生以来一直在使用它。现在是树莓派的忠实粉丝。在一家提供 IT 服务的跨国公司工作,负责端到端的项目交付,包括数字、技术、咨询和运营服务。

2 条评论

Python 对我来说太疯狂了

是的,它很疯狂,这就是让我追求它的原因 :-)

Python 功能强大,对程序员友好且易于学习。

我确信一旦你开始使用它,你也会很快进入状态。

回复 ,作者:Mani meghana (未验证)

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.