安装Termux的手机上运行Python
1. Termux 终端
Android是一个单用户图形化系统,功能主要以应用的形式呈现给用户,因此在系统上我们无法直接获取终端,更是无法直接调用系统自带的丰富指令。使用ADB是一个曲线救国的方法,打开USB调试后开发者可以在桌面系统的终端中触发Android系统自带指令,使用方法大概如下:
adb shell env # 查看Android的环境变量
这种方法需要一台电脑的配合,为了实现全天候、无差别的终端体验,你首先需要一个终端模拟器来保证随时随地地使用终端。
Android平台我们推荐Termux终端模拟器。
Termux终端有很多优秀的特性,这里要说两点:
- Termux有针对手机输入优化的键盘显示,长按KEYBOARD选项可打开该功能
- Termux维护着适合Android的库,并自带包管理器apt
因此,在Android上使用Termux终端和在Linux上使用终端一样方便。
安装完Termux后你有以下几个步骤需要完成:
- 到手机设置中开启 Termux 的存储权限,否则在Termux终端无法访问内部存储
- 修改Termux的源地址 (特别是国内用户)
和Linux类似,Termux有自己的软件源,安装Termux后默认的软件源是Termux官网,即 http://termux.net,可打开源列表查看。
### 如何查看
export EDITOR=vi
apt edit-sources
源列表的一般格式为:
# The main termux repository
deb [arch=all,你的平台架构] http://termux.net stable main
上面的指令中我们指定 vi 作为默认文本编辑器,vi指令是Termux自带的,你也可以指定其他文本编辑器,但需要先安装。默认的源服务器在国内是无法访问的,除非使用梯子,也就是说刚开始你可能只能使用vi编辑器,而且不能安装任何软件,毕竟 apt updage && apt upgrade都不能成功执行,换言之没有梯子默认情况下你无法获取资源列表。
国内用户建议使用清华维护的源服务器: http://mirrors.tuna.tsinghua.edu.cn/termux
## 国内用户建议使用的源列表内容
# The main termux repository
# deb [arch=all,你的平台架构] http://termux.net stable main
deb [arch=all,你的平台架构] http://mirrors.tuna.tsinghua.edu.cn/termux stable main
默认情况下内容是使用http协议传输的,我们可以为apt添加安全传输支持,这样就可以使用https安全传输协议。
apt install apt-transport-https
这时再次修改源服务器的传输协议为https并更新即可。
安装Termux后我们不仅可以在手机上使用/system/bin下的命令,还能下载新的指令使用。
2、Termux的安装Python
1. 更新包
apt update
apt upgrade
2. 修改源
export EDITOR=vi
apt edit-sources
在vi编辑器里把第二行替换成以下内容(清华镜像源)
deb [arch=all,arm] http://mirrors.tuna.tsinghua.edu.cn/termux stable main
在vi编辑器里,输入第一个i进入编辑模式(插入),下面会给出提示“INSERT”,此时再打字就是在光标左边插入字符。等修改完毕后,按住音量上,同时输入e,即可退出编辑模式。再输入:wq保存并退出vi。
3. Python环境部署
安装python2.7
pkg install python2
安装完成后,使用python2命令启动python 2.7.14环境.
安装python3
pkg instll python
安装完成后,使用python命令启动python 3.6.5环境.
升级pip版本
python2 -m pip install --upgrade pip
python -m pip install --upgrade pip
这两条命令分别升级了pip2和pip3到最新版.
pip版本查看
ipython
ipython是一个python的交互式shell,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python。先安装clang,否则直接使用pip安装ipython会失败报错.
pkg install clang
pip install ipython
pip3.6 install ipython
然后分别使用ipython和ipython2进入py2和py3控制台:
编辑器
终端下有vim神器,并且官方也已经封装了vim-python,对vim进行了Python相关的优化.
pkg install vim-python
3、Termux的使用技巧
安装基本工具
pkg update pkg install vim curl wget git unzip unrar
启用外置存储
Android6.0以上会弹框确认是否授权,执行这条命令确保termux在最前端(当前Activity)
termux-setup-storage
成功拿到存储权限后会在家目录生成storage目录,并且生成若干目录,软连接都指向外置存储卡的相应目录
显示扩展功能按键
方法一
从左向右滑动,显示隐藏式导航栏,长按左下角的KEYBOARD.
方法二
使用Termux快捷键:音量++Q键
常用快捷键
Ctrl键是终端用户常用的按键 – 但大多数触摸键盘都没有这个按键。为此,Termux使用音量减小按钮来模拟Ctrl键。
例如,在触摸键盘上按音量减小+ L发送与在硬件键盘上按Ctrl + L相同的输入。
Ctrl+A-> 将光标移动到行首Ctrl+C-> 中止当前进程Ctrl+D-> 注销终端会话Ctrl+E-> 将光标移动到行尾Ctrl+K-> 从光标删除到行尾Ctrl+L-> 清除终端Ctrl+Z-> 挂起(发送SIGTSTP到)当前进程
音量加键也可以作为产生特定输入的特殊键.
音量加+E-> Esc键音量加+T-> Tab键音量加+1-> F1(和音量增加+ 2→F2等)音量加+0-> F10音量加+B-> Alt + B,使用readline时返回一个单词音量加+F-> Alt + F,使用readline时转发一个单词音量加+X-> Alt+X音量加+W-> 向上箭头键音量加+A-> 向左箭头键音量加+S-> 向下箭头键音量加+D-> 向右箭头键音量加+L-> | (管道字符)音量加+H-> 〜(波浪号字符)音量加+U-> _ (下划线字符)音量加+P-> 上一页音量加+N-> 下一页音量加+.-> Ctrl + \(SIGQUIT)音量加+V-> 显示音量控制音量加+Q-> 显示额外的按键视图
基本命令
Termux除了支持apt命令外,还在此基础上封装了pkg命令,pkg命令向下兼容apt命令.apt命令大家应该都比较熟悉了,这里直接简单的介绍下pkg命令:
pkg search <query> 搜索包
pkg install <package> 安装包
pkg uninstall <package> 卸载包
pkg reinstall <package> 重新安装包
pkg update 更新源
pkg upgrade 升级软件包
pkg list-all 列出可供安装的所有包
pkg list-installed 列出已经安装的包
pkg shoe <package> 显示某个包的详细信息
pkg files <package> 显示某个包的相关文件夹路径
目录环境结构
~ > echo $HOME /data/data/com.termux/files/home
~ > echo $PREFIX /data/data/com.termux/files/usr
~ > echo $TMPPREFIX /data/data/com.termux/files/usr/tmp/zsh
Termux-api
Termux:API,用于访问手机硬件,实现更多的可玩性,可以实现如下等功能:
- 访问电池信息
- 获取相机设备信息
- 获取本机设备信息
- 获取设置剪贴板信息
- 获取通讯录信息
- 获取设置手机短信
- 拨打号码
- 振动设备
安装Termux-api

安装Termux-api软件包安装完Termux-apiAPP后,Termux里面必须安装对应的包后才可以实现操作手机底层.
pkg install termux-api
下面只列举一些可能会用到的,想要获取更多关于Termux-api的话,那就去参考官方文档.
获取电池信息
termux-battery-status
可以看到电池的-健康状况-电量百分比-温度情况等
{
"health": "GOOD",
"percentage": 67,
"plugged": "UNPLUGGED",
"status": "DISCHARGING",
"temperature": 24.600000381469727
}
获取相机信息
termux-camera-info
获取与设置剪贴板
查看当前剪贴板内容
termux-clipboard-get
设置新的剪贴板内容
termux-clipboard-set 000
获取通讯录列表
termux-contact-list
查看短信内容列表
termux-sms-inbox

发送短信
termux-sms-send
支持同时发送多个号码,实现群发的效果,官方介绍如下:
termux-sms-send -n number(s) recipient number(s) - separate multiple numbers by commas
发送测试
termux-sms-send -n 10001 cxll
拨打电话
termux-telephony-call
拨打电话给10001中国电信,查看下话费有没有欠费~?
termux-telephony-call 10001
WiFi相关
获取当前WiFi连接信息
termux-wifi-connectioninfo
获取最近一次WiFi扫描信息
termux-wifi-scaninfo
小结
直接操作调动系统底层的话,可以通过编程来实现自动定时短信发送,语音播报等 DIY空间无线
一些无聊的尝试
一些无聊有趣的版块,如果你是一个正经讲究人,可以跳过这个板块以节约你的阅读时间.
nyancat 彩虹猫
彩虹貓(英语:Nyan Cat)是在2011年4月上传在Youtube 的视频,并且迅速爆红于网络,並在2011年YouTube浏览量最高的视频中排名第五.
pkg install nyancat
nyancat

什么鬼~完全Get不到国外人的趣味点~
终端二维码
Linux 命令行下的二维码,主要核心是这个网址:http://qrenco.de/
echo "http://www.sqlsec.com" |curl -F-=\<- qrenco.de

如果你不嫌无聊的话还可以扫描这个二维码,然后就打开我的博客了.
终端地图
一个基于nodejs编写的命令行下的地图.
npm install mapscii -g
mapscii
进入终端地图
操作方法
- 方向键 移动
a和z键 放大缩小q键 退出
终端下的地图!讲究人~ 如果你足够无聊的话,还可以尝试能不能在这个地图上找到自己所在的位置.
from: http://www.52bug.cn/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/4875.html
http://www.freebuf.com/geek/170510.html
安装Termux的手机上运行Python的更多相关文章
- 在 Android 手机上运行 Python 程序
- 在 android 上运行 python 的方法
在android上运行python脚本,或者在android上使用python交互界面,对熟悉python的研究或开发人员来说,是一件很有吸引力的事情,因为python脚本真是非常高效,另外,有很多非 ...
- 在安卓(手机)上运行 Ubuntu (Linux)
在安卓(手机)上运行 Ubuntu (Linux) 由于x86 和 arm 是跨平台的,所使用的编译器自然也不同.如果要在电脑上编译安卓手机上的程序,则需在电脑端建立ARM交叉编译环境,这个过程是在耗 ...
- 安卓手机上运行 PC-E500 程序
目录 第1章安卓手机上运行 PC-E500 程序 1 1 PockEmul 1 2 下载 1 3 打包BASIC程序 2 4 配置PC-E500模拟器 5 5 载入e50 ...
- 利用Termux在Android手机上运行PHP
从 阮一峰 博客看到 [Termux 入门教程:架设手机 Server 下载文件] 想测试下,在可以跑PHP吗?经测试PHP完美运行,并且可用使用PHP内置WEB服务器,搭建网站访问:因为对linux ...
- 使用termux在安卓手机上搭建python开发环境
下载安装termux应用. 应用链接如下:https://download.csdn.net/upload/11342944设置-应用-termux赋予存储权限 cd mkdir .termux vi ...
- 安装notepad++ 安装Python Python环境变量的数值。怎样在notepad++上运行Python的代码
文章目录 1.下载安装一个Python的编辑器notepad++,(我这里有现成的,也可以去网上搜很多) 2.安装python,(我这里有现成的,也可以去网上下载). 3.怎样彻底删除Python,有 ...
- 在你的Android手机上运行Linux
之前试过许多方法(也就几种),像什么Complete Linux Installer,Debian noroot,利用已有的Linux构造Bootstrap之类,要么就是复杂得要命(调了两天没有调出来 ...
- 呵呵!手把手带你在 IIS 上运行 Python(转)
原文:http://blog.csdn.net/yangzhencheng_001/article/details/40342449 公司的网站让我头痛死了.在众多前辈高手的带领下,一大堆的 CMD ...
随机推荐
- 954I Yet Another String Matching Problem
传送门 分析 我们先考虑暴力如何计算 对于S的子串SS,如果它有位置i使得SS[i] != T[i]那么我们就将两个字符之间用并查集连边 最后答案很明显就是并查集中所有边的个数 于是我们可以发现对于S ...
- [JAVA] 小数转百分数
import java.text.NumberFormat; //获取格式化对象 NumberFormat format = NumberFormat.getPercentInstance(); // ...
- idea 删除代码的注释
搜索栏使用 正则表达式搜索 (/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*) 会搜索出来所有注释的代码 用空格replace替换掉就 ...
- HDU 6053 TrickGCD (莫比乌斯函数)
题意:给一个序列A,要求构造序列B,使得 Bi <= Ai, gcd(Bi) > 1, 1 <= i <= n, 输出构造的方法数. 析:首先这个题直接暴力是不可能解决的,可以 ...
- 公众号js-sdk简
后台代码 jssdk.PHP——因sae的不可写环境,故需要将accesstoken和JsApiTicket存入数据库. 数据库字段:id(int 3),accesstoken(string 255) ...
- tomcat 无法clean 的bug
如果你打开类似这种的文件夹了,那恭喜你,你无法正常clean E:\e\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 请关 ...
- Python之算法基础
1>递归相关: 递归:递归算法是一种直接或间接地调用自身算法的过程,在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且 易于 ...
- 你不知道的Console
1.凡人视角 打印字符串 代码: console.log("I am a 凡人"); 打印提示消息 代码: console.info("Yes, you arm a 凡人 ...
- http-bio-8080"-exec-6
现象如下: Tomcat7启动后,后台抛出如下异常,前台一直无法登陆 Exception in thread ""http-bio-8080"-exec-6&qu ...
- Verilog MIPS32 CPU(六)-- MDU
Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog M ...