安卓手机运行python程序的软件:Termux、Pydroid3

用电脑写了一段python程序抓取某网站的数据。网站数据每天更新,每天的数据都不一样,如果当天没有抓取保存数据,第二天就没有了昨天的数据。有时候人又不在电脑旁,所以希望找到一个能在手机上运行Python程序的软件,随时随地抓取数据。

度娘和谷哥了很久,找到三种类型的转件。

一、在手机上写手机专用的Python程序:Qpython

二、用电脑写可以在手机上运行的app:Kivy和SL4A

三、电脑写的python程序,在手机上运行:Termux、Pydroid3

第三类应该说最简单,不需重写程序。

Termux是一款开源且不需要root,运行在Android终端上极其强大的linux模拟器,支持apt管理软件包,完美支持python,ruby,go,nodejs。本文使用termux搭建Nmap、Sqlmap、BBScan、subDomainsBrute、Hydra、RouterSploit等实现支持端口扫描、注入检测、子域名爆破、多协议弱口令爆破、路由器漏洞检测框架多种功能的Android手机渗透神器。

官方简介


实际上是个手机端的Linux模拟器。能运行python程序。

为了配置环境,吃了不少苦头,写了这篇让他人少走弯路。

1、软件下载

在酷安网上有termux可以下载,目前更新到了0.65版。

github上有源码:https://github.com/termux

官网地址 https://termux.com/

2.1 安装基本命令环境

下载安装后要首先更新包,命令行输入以下命令

apt update

apt upgrade

更换清华源镜像,提高速度

export EDITOR=vi

apt edit-sources

编辑为

# The termux repository mirror from TUNA:

deb [arch=all,aarch64] https://mirrors.tuna.tsinghua.edu.cn/termux  stable main

:wq保存

----------

或者使用nano、vi、vim手动修改 $PREFIX/etc/apt/sources.list 文件

添加如下:

# The termux repository mirror from TUNA:

deb https://mirrors.tuna.tsinghua.edu.cn/termux stable main

并把原来的

deb https://termux.org/packages/ stable main

屏蔽掉(在行首添加#号)

再保存退出

我习惯用nano来编辑文档,默认是没有安装的,使用命令apt install nano来安装nano

使用命令:nano  $PREFIX/etc/apt/sources.list 来编辑文件,然后ctrl+o保存,ctrl+x退出

------

基本命令/软件的安装

apt update

apt upgrade

apt install vim zsh tsu wget git zip neofetch clang make cmake curl python-dev nodejs-dev -y

2.2 安装python

安装python主程序和必要模块,python3和python2都安装

apt install python python-dev python2 python2-dev

3、安装python模块

(1)安装BeautifulSoup,requests

pip install BeautifulSoup4 requests

(2)安装lxml模块

apt-get install clang

tips:近期clang更新到7.0,存在很多问题,好多模块都不能编译了。只能期待作者解决了。

error: command 'aarch64-linux-android-clang' failed with exit status 1

图片发自简书App


图片发自简书App


apt-get install libxml2 libxml2-dev libxslt libxslt-dev

依赖库python-dev libxml2-dev libxslt-dev libcrypt-dev openssl-dev libffi-dev

pip install lxml

有可能安装不上,可以先把下面的(3)中的apt部分先安装,在来试试pip install lxml

更新:安装lxml网上给出了一个新方案,如下

pkg install libxml2 libxml2-dev  libxslt libxslt-dev libiconv libiconv-dev libclang clang libzmq libzmq-dev libc++

pip install lxml

未经测试,如果哪位童鞋测试后可告知一声。

如果还是安装不了,有网友说缺少libcrypt支持,运行apt-get install libcrypt libcrypt-dev后再安装lxml

最近在小米没有存储卡的手机上,发现在手机目录无法运行程序,提示permission denied

经查阅,运行命令termux-setup-storage就可以了

启用外置存储

pkg install termux-tools

termux-set-storage

Android6.0以上会弹框确认是否授权,执行这条命令确保termux在最前端(当前Activity)

(3)安装scrapy模块(必须先安装lxml才行)

apt install openssl libffi libffi-dev

pip install scrapy

如果安装不上,先试试

apt install openssl openssl-tool openssl-dev

再安装scrapy

(4)安装科学计算相关模块numpy和pandas

apt install clang python python-dev fftw libzmq libzmq-dev freetype freetype-dev libpng libpng-dev pkg-config

LDFLAGS=" -lm -lcompiler_rt" pip install numpy matplotlib pandas jupyter

-------------------------------------------------

这里注意:numpy最新版1.13.1有问题,安装不上,需要指定安装1.12.1版

LDFLAGS=" -lm -lcompiler_rt" pip install numpy==1.12.1

【安装时间会有点长,主要是编译过程,几个模块可以一个一个来装,numpy是基==1.12.1础库,装matplotlib和pandas前必须先装】

【2018-10-15更新】关于lxml、scrapy 安装失败的情况解决方案

错误error: command 'aarch64-linux-android-clang' failed with exit status 1

近日重装termux,安装lxml scrapy mitmproxy老是失败,还以为是clang更新的缘故。

搜索网络解决方案,是因为安装openssl时直接apt安装的结果。

这里要直接用deb包安装 openssl.deb、openssl-dev.deb、openssl-tool.deb

这里是官方解决方案https://github.com/termux/termux-packages/issues/2847


aarch64版本对应的openssl包


arm版对应的openssl包

先输入uname -m

查看版本,我的是aarch64,也有可能是arm版的

如果是aarch的下载对应aarch的openssl包

解压后安装openssl包,与下图类似。

解压安装过程

之后再pip install lxml scrapy mitmproxy 就行了

安装mitmproxy 4.0.1时需要cryptography>2.1.2。之前安装lxml时安装的cryptography是2.0.1版本

老实安装不上(就是这个原因才重新安装termux的,教训惨痛),这次修改openssl包时pip安装到了2.3.1一次性也解决了。

(5)安装其他常用模块

如果想安装jupyter,需要安装一个第三方模块 apt install libcrypt-dev

再安装 pip install jupyter note

大部分的直接pip安装,比如:

pip install nltk

pip install demjson

pip install ipython

pip install demjson tushare colorama

还有其他:

apt install git      这个码农都懂的

apt install htop    任务管理器

apt install tree    目录树

apt install vim   

虽然termux自带vi,如果想使用vim(毕竟神之编辑器),则必须安装,配合.vimrc,bundle 和 git 可以完美配置python开发环境,体验几乎和ubuntu的终端无异.

小贴士:所有安装命令必须在提示符 $下输入,如果是提示符 >>> ,请输入 quit()切换到提示符$下

好了,基本上可以运行python大部分程序了。。。。。。。


关于安装mysql【2019-2-30更新】

怎么安装mysql有没有教程呢?

搭建php服务器离不开mysql,但termux中没有mysql源,只有MYSQL分支mariadb,兼容mysql,有人测试速度比mysql更快。直接apt install mariadb

有人反应安装后无法启动,解决方法,再安装mysqld install 就可以了


最后,把以上整理成一个.sh文件,在命令行运行bash termux_python.sh一键安装

#Termux安装python所需要的一些库

apt update

apt upgrade

apt install python python-dev python2 python2-dev

apt-get install clang

apt-get install libxml2 libxml2-dev libxslt libxslt-dev

apt install openssl libffi libffi-dev

apt install openssl openssl-tool openssl-dev

apt install clang g++  libxml2-dev libxslt-dev python python-dev

apt install clang python python-dev

apt install fftw libzmq libzmq-dev

apt install freetype freetype-dev libpng libpng-dev pkg-config

pip install BeautifulSoup4 requests

pip install lxml

pip install scrapy

#pip install numpy==1.12.1

#最新的1.13.1有问题,安装不上

LDFLAGS=" -lm -lcompiler_rt" pip install numpy==1.12.1

LDFLAGS=" -lm -lcompiler_rt" pip install matplotlib pandas jupyter

pip install ipython

pip install demjson tushare colorama

【2019-2-31更新】

再附上一个termux中文安装折腾记录精华,别人写的。https://github.com/myfreess/Mytermuxdoc


2018-07-05更新

这里再推荐一款在手机上运行py文件的手机软件:Pydroid 3 - Educational IDE for Python 3

下面是关于他的介绍

pydroid3手机版,这是一个非常不错的手机python编程软件,它拥有非常强大的编译器,可以帮助您编辑python程序,pydroid3手机版不需要电脑也能够时刻提高您的个人代码编辑水平,有需要的小伙伴千万不要错过哦!

pydroid3手机版功能特色:

扩展键盘和所有你需要用Python编程的符号.

语句高亮和主题.

代码预测,自动缩进和实时代码分析,就像任何真正的IDE一样.

选项卡.

增强的代码导航与交互赋值/定义gotos.

一键在Pastebin上分享

【软件介绍】

Pydroid 3是一款使用比较方便而且功能非常的强大的教育性编程应用,可以快速的学习的开箱即用示例,功能齐全的终端仿真器以及内置C、C ++甚至Fortran编译器,带有断电和手表的PDB调试器。

特色:

1、使用方便而且功能非常强大的手机编程应用,界面很简洁;

2、可以进行编辑、代码预测以及扩展键盘栏和语法高亮主题等;

3、自定义储存库,功能齐全的终端仿真器以及Cython支持。


个人感觉和termux相比,共性是:1、都是终端模拟器;2、都可以pip安装扩展库。

不同之处:1、termux纯粹就是终端模拟器,pydroid3增加了python的IDE界面。可以编写一段程序后再运行,方便了许多。

2、pydroid3的符号面板比较丰富,避免了手机输入法中找符号的繁琐。

3、Termux适合喜欢折腾linux的人,而Pydroid3适合在手机上玩python的人,毕竟Pydroid3上模块直接pip安装使用,封装程度较高,不折腾。而Termux还需要各种支持环境,编译器什么滴,都要自己动手配置。各位自己取舍吧。


喜欢这篇文章,就请点赞支持。喜欢我就关注我。

最后打个小广告:承接各类APP数据分析,数据抓取,外挂等业务。微信:hrcl2015

图片发自简书App
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容