在你的 Android 手机上创建和运行 Python 应用
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/b396268b406541cd871f30fb2d846c78~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1723894219&x-signature=fR9QXxBmPL8CM6bCILAC2%2BgLJcs%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">运用</span> Termux 和 Flask 在你的移动设备上创建、<span style="color: black;">研发</span>和运行一个网页应用。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">• <span style="color: black;">源自</span>:linux.cn • 作者:Phani Adabala • 译者:geekpi •</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">(本文字数:2923,阅读时<span style="color: black;">成长</span>约:4 分钟)</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">学习和<span style="color: black;">运用</span> Python 是<span style="color: black;">特别有</span>趣的。<span style="color: black;">因为</span>它越来越受欢迎,有越来越多的方式<span style="color: black;">能够</span>让计算世界比<span style="color: black;">此刻</span>更好。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">想象一下,只需一个 Android 移动设备和开源工具,就<span style="color: black;">能够</span>构建和运行一个 Python 应用,无论是<span style="color: black;">研发</span>一个命令行工具从互联网上获取你最<span style="color: black;">爱好</span>的<span style="color: black;">文案</span>,还是<span style="color: black;">起步</span>一个直接在掌上设备运行的网页服务器,所有这些都<span style="color: black;">能够</span>实现。这将完全改变你对移动设备的看法,将它从一个仅仅让你消费内容的设备变成一个<span style="color: black;">帮忙</span>你发挥创造力的设备。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在本文中,我将演示运行和测试一个简单的 Python 应用所需的所有的工具、软件包、<span style="color: black;">过程</span>和<span style="color: black;">各样</span>零零散散的东西。我<span style="color: black;">运用</span> Flask 框架 来创建一个简单的 “Hello, World!” 应用,并在一个简单而强大的网页服务器上运行。最棒的是,这一切都<span style="color: black;">出现</span>在手机上。不<span style="color: black;">必须</span>笔记本或台式机。</p>
<h1 style="color: black; text-align: left; margin-bottom: 10px;">在 Android 上安装 Termux</h1>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">首要</span>, 安装 Termux 应用程序 。Termux 是一个强大的终端仿真器,它<span style="color: black;">供给</span>了所有最流行的 Linux 命令,加上数百个额外的包,以便于安装。它不<span style="color: black;">必须</span>任何特殊的权限,你<span style="color: black;">能够</span><span style="color: black;">运用</span>默认的 Google Play 商店或开源应用仓库 F-Droid 来安装。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/7b77c0a4f1584e058086c7586aa8ab6e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1723894219&x-signature=HRI3UGGsZyPpQiBxxDCM02qFic0%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">安装 Termux 后,<span style="color: black;">起步</span>它并<span style="color: black;">运用</span> Termux 的 p<span style="color: black;">公斤</span> 命令执行<span style="color: black;">有些</span>必要的软件安装。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">订阅附加仓库 root-repo:</p>$ p<span style="color: black;">公斤</span> install root-repo
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">执行更新,使所有安装的软件达到最新状态。</p>$ p<span style="color: black;">公斤</span> update
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">最后,安装 Python:</p>$ p<span style="color: black;">公斤</span> install python<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/a3506f44d64b43c4ab5ddba8bb0aca7a~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1723894219&x-signature=JgcqAd%2FVzUd9wHFXNkU36kXeIVk%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">安装和自动配置完成后,就<span style="color: black;">能够</span>构建你的应用了。</p>
<h1 style="color: black; text-align: left; margin-bottom: 10px;">在 Android 上构建一个 Android 应用</h1>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">此刻</span>你<span style="color: black;">已然</span>安装了一个终端,你<span style="color: black;">能够</span>在很大程度上像<span style="color: black;">运用</span>另一台 Linux 电脑<span style="color: black;">同样</span><span style="color: black;">运用</span>你的 Android 手机。这很好地展示了终端到底有多强大。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">首要</span>创建一个项目目录:</p><span style="color: black;">$</span><span style="color: black;">mkdir Source</span>
<span style="color: black;">$</span><span style="color: black;"> <span style="color: black;">cd</span> Source</span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">接下来,创建一个 Python 虚拟环境。这是 Python <span style="color: black;">研发</span>者的<span style="color: black;">平常</span>做法,它有助于让你的 Python 项目独立于你的<span style="color: black;">研发</span>系统(在本例中是你的手机)。在你的虚拟环境中,你将能够安装特定于你应用的 Python 模块。</p>$ python -m venv venv
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">激活你的新虚拟环境(<span style="color: black;">重视</span>,开头的两个点用空格隔开)</p>$ . ./venv/bin/activate
(env)$
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">请<span style="color: black;">重视</span>你的 shell 提示符<span style="color: black;">此刻</span>以 (env) 开头,<span style="color: black;">暗示</span>你在虚拟环境中。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">此刻</span><span style="color: black;">运用</span> pip 安装 Flask Python 模块。</p>(env) $ pip install flask
<h1 style="color: black; text-align: left; margin-bottom: 10px;">在 Android 上写 Python 代码</h1>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">你<span style="color: black;">已然</span>准备好了。<span style="color: black;">此刻</span>你<span style="color: black;">必须</span>为你的应用编写代码。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">要做到这一点,你<span style="color: black;">必须</span>有经典文本编辑器的经验。我<span style="color: black;">运用</span>的是 vi。<span style="color: black;">倘若</span>你不<span style="color: black;">熟练</span> vi,请安装并试用 vimtutor,它(如其名<span style="color: black;">叫作</span>所暗示的)<span style="color: black;">能够</span>教你<span style="color: black;">怎样</span><span style="color: black;">运用</span>这个编辑器。<span style="color: black;">倘若</span>你有其他你<span style="color: black;">爱好</span>的编辑器,如 jove、jed、joe 或 emacs,你<span style="color: black;">能够</span>安装并<span style="color: black;">运用</span>其中一个。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">此刻</span>,<span style="color: black;">因为</span>这个演示程序非常简单,你<span style="color: black;">亦</span><span style="color: black;">能够</span>直接<span style="color: black;">运用</span> shell 的 heredoc 功能,它<span style="color: black;">准许</span>你直接在提示符中输入文本。</p><span style="color: black;">(env)$</span><span style="color: black;"> cat << EOF >> hello_world.py</span>
<span style="color: black;">></span><span style="color: black;"> from flask import Flask</span>
<span style="color: black;">></span><span style="color: black;">app = Flask(__name__)</span>
<span style="color: black;">></span>
<span style="color: black;">></span><span style="color: black;"> @app.route(<span style="color: black;">/</span>)</span>
<span style="color: black;">></span><span style="color: black;"> def hello_world():</span>
<span style="color: black;">></span><span style="color: black;"> <span style="color: black;">return</span> <span style="color: black;">Hello, World!</span></span>
<span style="color: black;">></span><span style="color: black;"> EOF</span>
<span style="color: black;">(env)$</span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这<span style="color: black;">仅有</span>六行代码,但有了它,你<span style="color: black;">能够</span>导入 Flask,创建一个应用,并将传入流量路由到名为 hello_world 的函数。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p26-sign.toutiaoimg.com/pgc-image/d71be25b68b745c9aa6fb414c43c3550~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1723894219&x-signature=j%2FJoqt5nGiIKcxKpYwQbiFQyfBE%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">此刻</span>你<span style="color: black;">已然</span>准备好了网页服务器的代码。<span style="color: black;">此刻</span>是时候设置<span style="color: black;">有些</span> 环境变量 ,并在你的手机上<span style="color: black;">起步</span>一个网页服务器了。</p>(env) $ export FLASK_APP=hello_world.py
(env) $ export FLASK_ENV=development
(evn) $ python hello_world.py<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/b1629b0eb5d74f0683a8a2eef6447b36~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1723894219&x-signature=i%2FTyAjr81gH5Eg0EVo3%2B4L7LNNM%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">起步</span>应用后,你会看到这条<span style="color: black;">信息</span>:</p><span style="color: black;">serving</span> Flask app… running <span style="color: black;">on</span> http://127.0.0.1:5000/
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这<span style="color: black;">显示</span>你<span style="color: black;">此刻</span>在 localhost(<span style="color: black;">亦</span><span style="color: black;">便是</span>你的设备)上运行着一个微型网页服务器。该服务器正在监听来自 5000 端口的请求。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">打开你的手机浏览器并进入到 http://localhost:5000,查看你的网页应用。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;"><img src="https://p3-sign.toutiaoimg.com/pgc-image/0ca4f7fe73e244479c618460dff24f29~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1723894219&x-signature=u9ads1PxohAohtLT1ro8he9L1%2Bc%3D" style="width: 50%; margin-bottom: 20px;"></div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">你并<span style="color: black;">无</span>损害手机的安全性。你只运行了一个本地服务器,这<span style="color: black;">寓意</span>着你的手机不接受来自<span style="color: black;">外边</span>世界的请求。<span style="color: black;">仅有</span>你<span style="color: black;">能够</span><span style="color: black;">拜访</span>你的 Flask 服务器。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">为了让别人看到你的服务器,你<span style="color: black;">能够</span>在 run 命令中加入 --host=0.0.0.0 来禁用 Flask 的调试模式。这会打开你的手机上的端口,<span style="color: black;">因此</span>要<span style="color: black;">小心</span><span style="color: black;">运用</span>。</p>(env) $ export FLASK_ENV=””
(env) $ flask run –host=<span style="color: black;">0</span>.<span style="color: black;">0</span>.<span style="color: black;">0</span>.<span style="color: black;">0</span>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">按 Ctrl+C 停止服务器(<span style="color: black;">运用</span>特殊的 Termux 键来<span style="color: black;">做为</span> Ctrl 键)。</p>
<h1 style="color: black; text-align: left; margin-bottom: 10px;">决定下一步怎么做</h1>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">你的手机可能不是一个严肃的网页应用的理想服务器平台,但这个例子证明了可能性是无限的。你可能会在 Android 手机上编程,只是<span style="color: black;">由于</span>这是一种方便的实践方式,<span style="color: black;">或</span><span style="color: black;">由于</span>你有一个令人兴奋的本地化网页应用的新想法,<span style="color: black;">或</span>你只是碰巧<span style="color: black;">运用</span> Flask 应用来完成自己的<span style="color: black;">平常</span>任务。正如爱因斯坦曾经说过的“想象力比知识更重要”,<span style="color: black;">针对</span>任何一个新手编码者,<span style="color: black;">或</span>一个经验丰富的 Linux 或 Android <span style="color: black;">兴趣</span>者<span style="color: black;">来讲</span>,这是一个有趣的小项目。它<span style="color: black;">能够</span>扩展到无穷的层次,<span style="color: black;">因此</span>让你的好奇心接手,并做出<span style="color: black;">有些</span>令人兴奋的东西!</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">via: opensource.com</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">作者: Phani Adabala 选题: lujun9972 译者: geekpi 校对: wxy</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">本文由 LCTT 原创编译, Linux中国 荣誉推出</p>
<h1 style="color: black; text-align: left; margin-bottom: 10px;">点击“<span style="color: black;">认识</span><span style="color: black;">更加多</span>”可<span style="color: black;">拜访</span>文内链接</h1>
我赞同你的看法,你的智慧让人佩服,谢谢分享。 在遇到你之前,我对人世间是否有真正的圣人是怀疑的。 同意、说得对、没错、我也是这么想的等。
页:
[1]