zoukankan      html  css  js  c++  java
  • 安装Termux的手机上运行Python

    1. Termux 终端

    Android是一个单用户图形化系统,功能主要以应用的形式呈现给用户,因此在系统上我们无法直接获取终端,更是无法直接调用系统自带的丰富指令。使用ADB是一个曲线救国的方法,打开USB调试后开发者可以在桌面系统的终端中触发Android系统自带指令,使用方法大概如下:

    adb shell env   # 查看Android的环境变量
    

    这种方法需要一台电脑的配合,为了实现全天候、无差别的终端体验,你首先需要一个终端模拟器来保证随时随地地使用终端。

    Android平台我们推荐Termux终端模拟器。

     
    Termux

    Termux终端有很多优秀的特性,这里要说两点:

    1. Termux有针对手机输入优化的键盘显示,长按KEYBOARD选项可打开该功能
    2. Termux维护着适合Android的库,并自带包管理器apt

    因此,在Android上使用Termux终端和在Linux上使用终端一样方便。
    安装完Termux后你有以下几个步骤需要完成:

    1. 到手机设置中开启 Termux 的存储权限,否则在Termux终端无法访问内部存储
    2. 修改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
    

    这两条命令分别升级了pip2pip3到最新版. 
    pip版本查看

    ipython

    ipython是一个python的交互式shell,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python。先安装clang,否则直接使用pip安装ipython会失败报错.

    pkg install clang
    pip install ipython
    pip3.6 install ipython
    

    然后分别使用ipythonipython2进入py2py3控制台:

    编辑器

    终端下有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 Google Play下载地址

    如何在电脑上下载Google play上的应用?

    安装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
    

    进入终端地图

    操作方法

    • 方向键 移动
    • az键 放大缩小
    • 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
  • 相关阅读:
    hdu 5101 Select
    hdu 5100 Chessboard
    cf B. I.O.U.
    cf C. Inna and Dima
    cf B. Inna and Nine
    cf C. Counting Kangaroos is Fun
    Radar Installation 贪心
    spfa模板
    Sequence
    棋盘问题
  • 原文地址:https://www.cnblogs.com/liangblog/p/9790311.html
Copyright © 2011-2022 走看看