使用 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 ,它(如其名称所暗示的)可以教你如何使用这个编辑器。如果你有其他你喜欢的编辑器,如 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 的函数。

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

(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 爱好者来说,这是一个有趣的小项目。它可以扩展到无穷的层次,所以让你的好奇心接手,并做出一些令人兴奋的东西!

高级终端termux下载不了Python_在安卓手机上安装Python写的软件是什么体验?相关推荐

  1. python编辑器安卓下载-三款可以在安卓手机上运行Python代码的软件

    导 语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮 ...

  2. 安卓怎么下载python-教你在安卓手机上安装python程序

    编程就是告诉计算机要做什么,计算机只是一些没有生命的机器,它们可不知道自己要做什么,一切都得你来告诉它.对于计算机是这样,对于安卓手机也是这样.本文将教授大家在如何在安卓手机上安装Python程序,有 ...

  3. 使用Termux软件在安卓手机上安装ubuntu

    提示:使用Termux软件在安卓手机上安装ubuntu 文章目录 前言 一.使用的工具 二.安装步骤 1.换下载源 2.proot-distro安装 3.完成ubuntu的安装 参考资料 前言 为完成 ...

  4. termux无法安装引导程序包_安卓手机上安装termux,把手机当linux服务器用

    旧的安卓手机不要扔,可以拿来做一个微型的linux服务器,编程开发,跑服务都不在话下!本文就以6年前发布的小米2s为例,亲自带大家一起体验一下这种手机服务器并简单分析其中的一些原理. 一.升级最新安卓 ...

  5. 在安卓手机上下载linux系统,如何在安卓手机上运行Ubuntu系统

    Ubuntu是一款linux系统,一般我们都是将其运行在电脑中,可不可以在手机端也能运行Ubuntu呢?也是可以的,想知道如何实现的,就跟我来吧. 第一步: 首先, 你的手机需要获取root权限. 如 ...

  6. linux安装python_如何在 Windows 上安装 Python | Linux 中国

    安装 Python,启动 IDE,然后你就可以在 Windows 系统下进行编程了. 来源:https://linux.cn/article-12335-1.html 作者:Seth Kenlon 译 ...

  7. 手机下载Python_将安卓手机打造成 Python 全栈开发利器

  8. mac无法下载python_无法在Mac上安装Python包(gcc4.0错误)

    我不能使用easy_insall或pip安装任何Python包,因为出现以下错误.我到处找遍了,看到了这个错误的几种变体,但没有找到一个易于理解/遵循的解决方案.非常感谢任何帮助!在 我在Mac OS ...

  9. 使用Termux在安卓手机上搭建本地Git服务器

    一.安装安卓终端模拟器Termux https://github.com/termux/termux-app/releases 手机是arm 64位的,就下载 'termux-app_v0.118.0 ...

  10. 使用Termux在安卓手机上运行tomcat服务器

    使用Termux在安卓手机上安装运行tomcat服务器 简单背景 探索尝试 尝试一:使用limbo虚拟机(失败) 想念二:使用Linux Deploy安装(直接放弃) 尝试三:使用Aid Learni ...

最新文章

  1. edit怎么读英语_名师说学习:英语学习有方法
  2. 这个主板制作的是一样的吗?
  3. 防抖动函数(debounce)的原理
  4. linux永久设置nlslang,【图片】Liddy's Linux编译日志(版本8.4)【蕾迪猫的linux吧】_百度贴吧...
  5. 低成本、高性能创客开发板——PYB Nano
  6. 不能启动的问题 社区版安装后_CentOS7下安装docker(亲测+完整)
  7. vba将select的值直接赋给变量
  8. 没有bug队——加贝——Python 练习实例 3,4
  9. 试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)
  10. android 设置听筒模式切换,Android开发【06-29视频贴】切换听筒模式部分手机失效,怎么解决?...
  11. webstrom 调试 html,【译】使用 WebStorm 调试 Nuxt.js
  12. linux 下压缩解压命令
  13. 如何把图片上的文字转换成word的文字。
  14. Laravel源码解析【转】
  15. Qt 鼠标点击事件穿透
  16. java三色球问题_C语言三色球问题代码解析
  17. 俩人同样写代码,我拿七千他咋五万八...
  18. 韦东山嵌入式第一期学习笔记DAY_1——3_1_linux命令入门演示
  19. 【Java SE】第二话·第一个Java程序
  20. Semantic Structure-BasedWord Embedding by Incorporating Concept Convergence and Word Divergence

热门文章

  1. jquery html5 ui框架,有哪些常用jQuery UI框架?
  2. FFT中频谱泄露的两种理解
  3. 宝峰对讲机16频率表_宝峰对讲机频率设置 设置对讲机频率的技巧
  4. 远程访问型木马——灰鸽子软件的使用(含免杀)
  5. 推荐几款非常好用且免费的在线绘图工具
  6. poi导出excel报错Failed to read zip entry source
  7. OPNET出错集锦:)
  8. android 连接电视,手机连接电视方法大全
  9. 六,华为交换路由做NAT五种方法
  10. 【转载】python做图像的傅里叶变换——二维傅里叶变换