当前位置: 首页 > 科技观察

在您的Android手机上创建和运行Python应用程序

时间:2023-03-14 10:30:07 科技观察

使用Termux和Flask在您的移动设备上创建、开发和运行Web应用程序。学习和使用Python很有趣。随着它越来越受欢迎,有越来越多的方法可以使计算世界变得比今天更好。想象一下只用Android移动设备和开源工具就可以构建和运行Python应用程序,无论是开发命令行工具从Internet获取您喜欢的文章,还是启动直接在手掌上运行的Web服务器你的手,这一切都可以实现。这将彻底改变您对移动设备的看法,从仅让您消费内容的设备转变为帮助您发挥创造力的设备。在本文中,我将演示运行和测试一个简单的Python应用程序所需的所有工具、包、步骤和细节。我正在使用Flask框架创建一个简单的“Hello,World!”在简单但功能强大的Web服务器上运行的应用程序。最重要的是,这一切都发生在您的手机上。无需笔记本电脑或台式机。在Android上安装Termux首先,安装Termux应用程序。Termux是一个功能强大的终端仿真器,提供所有最流行的Linux命令,以及数百个易于安装的附加包。它不需要任何特殊权限,您可以使用默认的GooglePlay商店或开源应用程序存储库F-Droid来安装它。安装完Termux后,启动它,使用Termux的pkg命令进行一些必要的软件安装。订阅附加存储库root-repo:$pkginstallroot-repo执行更新以使所有已安装的软件保持最新。$pkgupdate最后,安装Python:$pkginstallpython一旦安装并自动配置,就可以构建您的应用程序了。在Android上构建Android应用现在您已经安装了终端,您可以像使用另一台Linux计算机一样使用您的Android手机。这是终端真正强大的一个很好的例子。首先创建项目目录:$mkdirSource$cdSource接下来创建Python虚拟环境。这是Python开发人员的普遍做法,它有助于使您的Python项目独立于您的开发系统(在本例中为您的手机)。在您的虚拟环境中,您将能够安装特定于您的应用程序的Python模块。$python-mvenvvenv激活你的新虚拟环境(注意前两个点用空格隔开)$../venv/bin/activate(env)$注意你的shell提示符现在以(env)开头,表示你处于虚拟环境中。现在使用pip安装FlaskPython模块。(env)$pipinstallflask在Android上编写Python代码,一切就绪。现在您需要为您的应用程序编写代码。为此,您需要使用经典文本编辑器的经验。我用vi。如果您不熟悉vi,请安装并试用vimtutor,它(顾名思义)将教您如何使用该编辑器。如果您有其他您喜欢的编辑器,例如jove、jed、joe或emacs,您可以安装并使用其中之一。现在,由于这个演示程序是如此简单,您还可以直接使用shell的heredoc功能,它允许您在提示符处直接输入文本。(env)$cat<>hello_world.py>fromflaskimportFlask>app=Flask(__name__)>>@app.route('/')>defhello_world():>return'Hello,World!'>EOF(env)$这只有六行代码,但有了它,您可以导入Flask,创建一个应用程序,并将传入流量路由到一个名为hello_world的函数。现在您已准备好Web服务器的代码。现在是时候设置一些环境变量并在手机上启动网络服务器了。(env)$exportFLASK_APP=hello_world.py(env)$exportFLASK_ENV=development(evn)$pythonhello_world.py启动应用程序后,您将看到此消息:servingFlaskapp...runningonhttp://127.0.0.1:5000/这意味着您现在正在本地主机(也就是您的设备)上运行一个微型Web服务器。服务器正在侦听来自端口5000的请求。打开您的移动浏览器并转到http://localhost:5000以查看您的Web应用程序。您不会损害手机的安全性。您只运行本地服务器,这意味着您的手机不接受来自外界的请求。只有您可以访问您的Flask服务器。要允许其他人看到您的服务器,您可以通过在运行命令中添加--host=0.0.0.0来禁用Flask的调试模式。这将打开您手机上的端口,因此请谨慎使用。(env)$exportFLASK_ENV=””(env)$flaskrun–host=0.0.0.0按Ctrl+C停止服务器(使用特殊的Termux键作为Ctrl键)。决定下一步用手机做什么可能不是一个严肃的网络应用程序的理想服务器平台,但这个例子证明了可能性是无限的。您可能会在Android手机上编程只是因为它是一种方便的练习方式,或者因为您对本地化Web应用程序有一个令人兴奋的新想法,或者您只是碰巧使用Flask应用程序来完成日常任务。正如爱因斯坦曾经说过的“想象力比知识更重要”,对于任何编码新手,或者经验丰富的Linux或Android爱好者来说,这都是一个有趣的小项目。它可以扩展到无穷无尽的水平,所以让您的好奇心接管并做出令人兴奋的事情!