在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

使用 Termux 和 Flask 在你的移动设备上创建、开发和运行一个网页应用。

• 来源:linux.cn • 作者:Phani Adabala • 译者:geekpi •

(本文字数:2923,阅读时长大约:4 分钟)

学习和使用 Python 是很有趣的。由于它越来越受欢迎,有越来越多的方式可以让计算世界比现在更好。

想象一下,只需一个 Android 移动设备和开源工具,就可以构建和运行一个 Python 应用,无论是开发一个命令行工具从互联网上获取你最喜欢的文章,还是启动一个直接在掌上设备运行的网页服务器,所有这些都可以实现。这将完全改变你对移动设备的看法,将它从一个仅仅让你消费内容的设备变成一个帮助你发挥创造力的设备。

在本文中,我将演示运行和测试一个简单的 Python 应用所需的所有的工具、软件包、步骤和各种零零散散的东西。我使用 Flask 框架 来创建一个简单的 “Hello, World!” 应用,并在一个简单而强大的网页服务器上运行。最棒的是,这一切都发生在手机上。不需要笔记本或台式机。

在 Android 上安装 Termux

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

在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

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

订阅附加仓库 root-repo:

$ pkg install root-repo

执行更新,使所有安装的软件达到最新状态。

$ pkg update

最后,安装 Python:

$ pkg install python

在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

安装和自动配置完成后,就可以构建你的应用了。

在 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 的函数。

在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

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

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

在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

启动应用后,你会看到这条消息:

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

这表明你现在在 localhost(也就是你的设备)上运行着一个微型网页服务器。该服务器正在监听来自 5000 端口的请求。

打开你的手机浏览器并进入到 http://localhost:5000,查看你的网页应用。

在你的 Android 手机上创建和运行 Python 应用(python程序在android手机上运行)

你并没有损害手机的安全性。你只运行了一个本地服务器,这意味着你的手机不接受来自外部世界的请求。只有你可以访问你的 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: opensource.com

作者: Phani Adabala 选题: lujun9972 译者: geekpi 校对: wxy

本文由 LCTT 原创编译, Linux中国 荣誉推出

点击“了解更多”可访问文内链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月1日 下午3:56
下一篇 2024年5月1日 下午4:08

相关推荐

  • 项目管理系统组成部分图

    项目管理系统组成部分图 项目管理系统是一种用于管理项目进度、成本、质量和交付等方面的软件系统。它通常由以下几个组成部分构成: 1. 项目计划:该项目管理系统的核心部分,用于创建和管…

    科研百科 1天前
    0
  • 艺术科研立项课题(艺术科研项目立项书怎么写)

    艺术科研项目立项书怎么写 艺术科研项目立项书是艺术科研项目申请的重要文件,记录了项目的背景,目标,研究内容,研究方法,预期成果和预算等内容。在撰写艺术科研项目立项书时,需要注意以下…

    科研百科 2024年4月10日
    69
  • 预算管理系统开发项目

    预算管理系统开发项目 随着企业规模的不断扩大和业务的增长,预算管理已经成为企业日常运营中不可或缺的一部分。预算管理不仅可以帮助企业更好地控制成本,还可以提高员工的工作效率和公司的盈…

    科研百科 20小时前
    0
  • 招商积余再中标两所高校项目 将提供一体化物业管理服务

    观点网讯:据招商积余官微6月11日消息,近日成功中标香港中文大学(深圳)音乐学院过渡校区项目、北京师范大学-香港浸会大学联合国际学院项目,接下来将为两所高校提供一体化物业管理服务。…

    科研百科 2022年12月28日
    92
  • 珍客CRM价格

    珍客CRM:提升企业业绩的利器 随着企业竞争的不断加剧,企业业绩的增长变得越来越困难。在这种情况下,采用先进的客户关系管理系统(CRM)来管理客户关系,提高客户满意度,增强客户忠诚…

    科研百科 2024年11月14日
    1
  • 完了!Windows弱爆了!Linux才是程序员的首选!程序员:好用(程序员用linux还是windows)

    最近有很多程序员在CSDN博客发帖讨论:用windows还是Linux? 关于这个问题,其实答案很简单:做开发首选Linux。如果一个程序员从来没有在Linux上开发过程序, 一直…

    科研百科 2024年5月1日
    78
  • 西安工程大学劳务费表

    西安工程大学劳务费表 随着社会经济的不断发展,西安工程大学也在不断地扩大规模,提升教学质量。然而,在教学过程中,劳务费的问题也日益凸显。下面,我们将介绍一份西安工程大学劳务费表,以…

    科研百科 2024年12月9日
    0
  • 无纸化办公系统介绍

    无纸化办公系统介绍 随着数字化时代的到来,无纸化办公已经成为现代企业的一种趋势。无纸化办公系统是指通过电子方式完成办公任务,来代替传统的纸张和文具。无纸化办公不仅提高了工作效率,还…

    科研百科 2024年9月24日
    19
  • 安康市中医医院构建“党建引领、激活动能、业务协同、提质惠民”管理新机制

    安康市中医医院构建 “党建引领、激活动能、业务协同、提质惠民”管理新机制 安康市中医医院以促进医院治理体系和管理能力现代化为目标,以群众看病难问题得到有效缓解、老百姓看病用药负担持…

    2022年8月21日
    388
  • 网校的管理系统项目背景

    网校的管理系统项目背景 随着在线教育的普及,网校已经成为越来越多学校的选择。网校的管理系统是网校运营的重要组成部分,它可以帮助学校管理学生的课程学习、教师的教学进度、课程评价等。 …

    科研百科 2024年12月26日
    0