安装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-api
APP后,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 ...
随机推荐
- ServiceStack.redis用法
using System; using System.Collections.Generic; using ServiceStack.Redis; namespace SysBuild { class ...
- 关于super关键字
1.在Java中,有时会遇到子类中的成员变量或方法与父类中的成员变量或方法同名.此时父类的成员变量或方法就会被隐藏(可以理解为重写),如果还想要使用父类中的这个成员变量或方法,就需要用到super. ...
- Spring查询方法的注入 为查询的方法注入某个实例
//这里是客户端的代码 当调用CreatePersonDao这个抽象方法或者虚方法的时候由配置文件返回指定的实例 为查询的方法注入某个实例 start static void Main(string[ ...
- C#调用COM组件遇到的问题及解决办法
1.无法嵌入互操作类型"xxx",请改用适用的接口. 解决办法: - 将所引用的程序集的[嵌入互操作类型]属性设置为[False]. 2.System.Runtime.Intero ...
- CSS中的三种基本的定位机制(普通流、定位、浮动)
一.普通流 普通流中元素框的位置由元素在XHTML中的位置决定.块级元素从上到下依次排列,框之间的垂直距离由框的垂直margin计算得到.行内元素在一行中水平布置. 普通流就是html文档中的元素如块 ...
- VC6.0 多线程输出乱序问题
今天尝试编写多线程最简单的例子 #include "stdafx.h" #include "windows.h" #include <iostream&g ...
- Web.config配置文件详解(新手必看) (转载)
原文地址:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html <?xmlversion="1.0&quo ...
- .net core MVC接受来自自前端的GET和POST请求方法的区别
小伙伴们都知道,常用的http请求有两种方式,即GET方法和POST方法,很多刚入门的童鞋难免都会有一个误区,是不是GET是从服务器上获取数据,POST是向服务器传送数据? 我的理解是:不论是GET还 ...
- Entity Framework 6 暂停重试执行策略
EF6引入一个弹性连接的功能,也就是允许重新尝试执行失败的数据库操作.某些复杂的场景中,可能需要启用或停用重试执行的策略,但是EF框架暂时尚未提供直接的设置开关,将来可能会加入这种配置.幸运的是,很容 ...
- Flex + Bison: Scanning from memory buffer
Found from StackOverflow: ========================================================================== ...