超神利器…


Android app python开发 安卓 python开发_xml

Android app python开发 安卓 python开发_xml_02

相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极。Qpython不支持lxml这个模块,然而python中lxml作为最底层的模块,不管是爬虫还是文档解析,都需要使用它。所以,Termux应运而生….

Termux不仅可以帮助你学习和使用Linux系统,更可以通过安装各种插件,当做我们python全栈开发利器!今天我就带大家了解下,如何在手机上玩转Python 爬虫、jupyter notebook、git代码托管、Web开发等等全套炫酷的功能!

Termux介绍


Android app python开发 安卓 python开发_xml

Termux是一个Android终端的Linux环境仿真器。主要的是它无需root,就可以直接进行安装使用。可以使用apt包管理器或者这个工具推荐的pkg命令来定制安装其他的工具。何为其他工具?Linux下你能想到的工具,都可以去尝试,多数都可以直接安装,但也有部分工具需要你转个弯,比如在手机中安装mysql数据库!

Termux的Wiki官网:https://wiki.termux.com/wiki/Main_Page


Android app python开发 安卓 python开发_python_04

Termux的Wiki

官网中可以看到推荐的下载方式是Google Play 和F-Droid。Google Play在手机上安装太麻烦了,所以推荐F-Droid,虽然它比较慢…当然你可以离线下载Termux的apk文件,虽然这样没办法获取更新。安装果果橙比较简单,下载F-Droid,完成安装后搜索Termux,下载即可。

Python开发者桌面


Android app python开发 安卓 python开发_xml

刚才说到Termux的简单介绍与下载方式,那么下载完成,安装的只是这个工具,而非我们的Python开发者桌面。Termux安装完成首次进入会进行相关的初始化工作,等待1-2分钟即可(此时需要联网下载工具)。截图如下:


Android app python开发 安卓 python开发_xml_06

安装Termux.png

之后就该进入我们的DIY时间了!

1.

更新源:

为了我们能获取到最新的插件信息,需要更新一下镜像源列表

1pkg update

2pkg upgrade

3pkg install python python-dev

2.

安装python及pip

系统为我们安装了最新的python3.7.4版本,紧追时尚潮流….

1pkg install python python-static

2pip install --upgrade pip

3.

安装依赖插件

这一步阻塞了很长的时间,可以看到网上针对lxml的安装不管是linux系统还是咱们的Termux,都存在这很多的求助帖。


Android app python开发 安卓 python开发_xml_07

lxml安装报错

按照很多热心网友的回答去尝试安装插件,和其他解决办法,都没有成功。

多数的报错是提示libxml2插件未安装,可明明安装了,之后查阅资料了解python在使用该插件的使用需要通过clang插件的编译后才能使用,但是安装后有提示conv.h的文件无法获取等等。这个问题断断续续卡了我两天你的时间,光卸载安装Termux就搞了几次,每月20G的流量我就剩5G了…最终找齐了所有插件总结给大家:(最新安装依赖详见留言)

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

2pip install lxml


Android app python开发 安卓 python开发_Python_08

lxml安装成功

目录说明


Android app python开发 安卓 python开发_xml

首先我们输入termux-setup-storage将手机目录共享给termux,完成后会在home目录下多出一个storage的文件夹。


Android app python开发 安卓 python开发_Python_10

目录说明

了解Linux的朋友应该比较清楚创建链接与挂载点的问题,手机的目录在Termux的

/data/data/com.termux/files/home/storage/shared内。那么同样的,我们可以将手机的代码目录映射到Termux中。命令如下:

ln -s /data/data/com.termux/files/home/storage/shared/Codes_Repository ~/Codes

然后,我们将小说下载器的脚本Novels.py丢到手机的Codes_Repository,再去Termux中看看是否同步