安卓手機(jī)運(yùn)行python程序的軟件:Termux、Pydroid3

用電腦寫了一段python程序抓取某網(wǎng)站的數(shù)據(jù)。網(wǎng)站數(shù)據(jù)每天更新,每天的數(shù)據(jù)都不一樣,如果當(dāng)天沒有抓取保存數(shù)據(jù),第二天就沒有了昨天的數(shù)據(jù)。有時(shí)候人又不在電腦旁,所以希望找到一個(gè)能在手機(jī)上運(yùn)行Python程序的軟件,隨時(shí)隨地抓取數(shù)據(jù)。

度娘和谷哥了很久,找到三種類型的轉(zhuǎn)件。

一、在手機(jī)上寫手機(jī)專用的Python程序:Qpython

二、用電腦寫可以在手機(jī)上運(yùn)行的app:Kivy和SL4A

三、電腦寫的python程序,在手機(jī)上運(yùn)行:Termux、Pydroid3

第三類應(yīng)該說最簡單,不需重寫程序。

Termux是一款開源且不需要root,運(yùn)行在Android終端上極其強(qiáng)大的linux模擬器,支持apt管理軟件包,完美支持python,ruby,go,nodejs。本文使用termux搭建Nmap、Sqlmap、BBScan、subDomainsBrute、Hydra、RouterSploit等實(shí)現(xiàn)支持端口掃描、注入檢測、子域名爆破、多協(xié)議弱口令爆破、路由器漏洞檢測框架多種功能的Android手機(jī)滲透神器。

官方簡介


實(shí)際上是個(gè)手機(jī)端的Linux模擬器。能運(yùn)行python程序。

為了配置環(huán)境,吃了不少苦頭,寫了這篇讓他人少走彎路。

1、軟件下載

在酷安網(wǎng)上有termux可以下載,目前更新到了0.65版。

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

官網(wǎng)地址 https://termux.com/

2.1 安裝基本命令環(huán)境

下載安裝后要首先更新包,命令行輸入以下命令

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手動(dòng)修改 $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

屏蔽掉(在行首添加#號(hào))

再保存退出

我習(xí)慣用nano來編輯文檔,默認(rèn)是沒有安裝的,使用命令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

圖片發(fā)自簡書App


圖片發(fā)自簡書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網(wǎng)上給出了一個(gè)新方案,如下

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

pip install lxml

未經(jīng)測試,如果哪位童鞋測試后可告知一聲。

如果還是安裝不了,有網(wǎng)友說缺少libcrypt支持,運(yùn)行apt-get install libcrypt libcrypt-dev后再安裝lxml

最近在小米沒有存儲(chǔ)卡的手機(jī)上,發(fā)現(xiàn)在手機(jī)目錄無法運(yùn)行程序,提示permission denied

經(jīng)查閱,運(yùn)行命令termux-setup-storage就可以了

啟用外置存儲(chǔ)

pkg install termux-tools

termux-set-storage

Android6.0以上會(huì)彈框確認(rèn)是否授權(quán),執(zhí)行這條命令確保termux在最前端(當(dāng)前Activity)

(3)安裝scrapy模塊(必須先安裝lxml才行)

apt install openssl libffi libffi-dev

pip install scrapy

如果安裝不上,先試試

apt install openssl openssl-tool openssl-dev

再安裝scrapy

(4)安裝科學(xué)計(jì)算相關(guān)模塊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

【安裝時(shí)間會(huì)有點(diǎn)長,主要是編譯過程,幾個(gè)模塊可以一個(gè)一個(gè)來裝,numpy是基==1.12.1礎(chǔ)庫,裝matplotlib和pandas前必須先裝】

【2018-10-15更新】關(guān)于lxml、scrapy 安裝失敗的情況解決方案

錯(cuò)誤error: command 'aarch64-linux-android-clang' failed with exit status 1

近日重裝termux,安裝lxml scrapy mitmproxy老是失敗,還以為是clang更新的緣故。

搜索網(wǎng)絡(luò)解決方案,是因?yàn)榘惭bopenssl時(shí)直接apt安裝的結(jié)果。

這里要直接用deb包安裝 openssl.deb、openssl-dev.deb、openssl-tool.deb

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


aarch64版本對(duì)應(yīng)的openssl包


arm版對(duì)應(yīng)的openssl包

先輸入uname -m

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

如果是aarch的下載對(duì)應(yīng)aarch的openssl包

解壓后安裝openssl包,與下圖類似。

解壓安裝過程

之后再pip install lxml scrapy mitmproxy 就行了

安裝mitmproxy 4.0.1時(shí)需要cryptography>2.1.2。之前安裝lxml時(shí)安裝的cryptography是2.0.1版本

老實(shí)安裝不上(就是這個(gè)原因才重新安裝termux的,教訓(xùn)慘痛),這次修改openssl包時(shí)pip安裝到了2.3.1一次性也解決了。

(5)安裝其他常用模塊

如果想安裝jupyter,需要安裝一個(gè)第三方模塊 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? ? ? 這個(gè)碼農(nóng)都懂的

apt install htop? ? 任務(wù)管理器

apt install tree? ? 目錄樹

apt install vim? ?

雖然termux自帶vi,如果想使用vim(畢竟神之編輯器),則必須安裝,配合.vimrc,bundle 和 git 可以完美配置python開發(fā)環(huán)境,體驗(yàn)幾乎和ubuntu的終端無異.

小貼士:所有安裝命令必須在提示符 $下輸入,如果是提示符 >>> ,請(qǐng)輸入 quit()切換到提示符$下

好了,基本上可以運(yùn)行python大部分程序了。。。。。。。


關(guān)于安裝mysql【2019-2-30更新】

怎么安裝mysql有沒有教程呢?

搭建php服務(wù)器離不開mysql,但termux中沒有mysql源,只有MYSQL分支mariadb,兼容mysql,有人測試速度比mysql更快。直接apt install mariadb

有人反應(yīng)安裝后無法啟動(dòng),解決方法,再安裝mysqld install 就可以了


最后,把以上整理成一個(gè).sh文件,在命令行運(yùn)行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更新】

再附上一個(gè)termux中文安裝折騰記錄精華,別人寫的。https://github.com/myfreess/Mytermuxdoc


2018-07-05更新

這里再推薦一款在手機(jī)上運(yùn)行py文件的手機(jī)軟件:Pydroid 3 - Educational IDE for Python 3

下面是關(guān)于他的介紹

pydroid3手機(jī)版,這是一個(gè)非常不錯(cuò)的手機(jī)python編程軟件,它擁有非常強(qiáng)大的編譯器,可以幫助您編輯python程序,pydroid3手機(jī)版不需要電腦也能夠時(shí)刻提高您的個(gè)人代碼編輯水平,有需要的小伙伴千萬不要錯(cuò)過哦!

pydroid3手機(jī)版功能特色:

擴(kuò)展鍵盤和所有你需要用Python編程的符號(hào).

語句高亮和主題.

代碼預(yù)測,自動(dòng)縮進(jìn)和實(shí)時(shí)代碼分析,就像任何真正的IDE一樣.

選項(xiàng)卡.

增強(qiáng)的代碼導(dǎo)航與交互賦值/定義gotos.

一鍵在Pastebin上分享

【軟件介紹】

Pydroid 3是一款使用比較方便而且功能非常的強(qiáng)大的教育性編程應(yīng)用,可以快速的學(xué)習(xí)的開箱即用示例,功能齊全的終端仿真器以及內(nèi)置C、C ++甚至Fortran編譯器,帶有斷電和手表的PDB調(diào)試器。

特色:

1、使用方便而且功能非常強(qiáng)大的手機(jī)編程應(yīng)用,界面很簡潔;

2、可以進(jìn)行編輯、代碼預(yù)測以及擴(kuò)展鍵盤欄和語法高亮主題等;

3、自定義儲(chǔ)存庫,功能齊全的終端仿真器以及Cython支持。


個(gè)人感覺和termux相比,共性是:1、都是終端模擬器;2、都可以pip安裝擴(kuò)展庫。

不同之處:1、termux純粹就是終端模擬器,pydroid3增加了python的IDE界面。可以編寫一段程序后再運(yùn)行,方便了許多。

2、pydroid3的符號(hào)面板比較豐富,避免了手機(jī)輸入法中找符號(hào)的繁瑣。

3、Termux適合喜歡折騰linux的人,而Pydroid3適合在手機(jī)上玩python的人,畢竟Pydroid3上模塊直接pip安裝使用,封裝程度較高,不折騰。而Termux還需要各種支持環(huán)境,編譯器什么滴,都要自己動(dòng)手配置。各位自己取舍吧。


喜歡這篇文章,就請(qǐng)點(diǎn)贊支持。喜歡我就關(guān)注我。

最后打個(gè)小廣告:承接各類APP數(shù)據(jù)分析,數(shù)據(jù)抓取,外掛等業(yè)務(wù)。微信:hrcl2015

圖片發(fā)自簡書App
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容