分享在手机上敲 Python 代码几款App
相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极。Qpython不支持lxml这个模块,然而python中lxml作为最底层的模块,不管是爬虫还是文档解析,都需要使用它。所以,Termux应运而生….
Termux不仅可以帮助你学习和使用Linux系统,更可以通过安装各种插件,当做我们python全栈开发利器!今天我就带大家了解下,如何在手机上玩转Python 爬虫、jupyter notebook、git代码托管、Web开发 等等全套炫酷的功能!
Termux介绍
Termux是一个Android终端的Linux环境仿真器。主要的是它无需root,就可以直接进行安装使用。可以使用apt包管理器或者这个工具推荐的pkg命令来定制安装其他的工具。何为其他工具?Linux下你能想到的工具,都可以去尝试,多数都可以直接安装,但也有部分工具需要你转个弯,比如在手机中安装mysql数据库!
Termux的Wiki官网:https://wiki.termux.com/wiki/Main_Page
Termux的Wiki
官网中可以看到推荐的下载方式是Google Play 和F-Droid。Google Play在手机上安装太麻烦了,所以推荐F-Droid,虽然它比较慢…当然你可以离线下载Termux的apk文件,虽然这样没办法获取更新。安装果果橙比较简单,下载F-Droid,完成安装后搜索Termux,下载即可。
Python开发者桌面
刚才说到Termux的简单介绍与下载方式,那么下载完成,安装的只是这个工具,而非我们的Python开发者桌面。Termux安装完成首次进入会进行相关的初始化工作,等待1-2分钟即可(此时需要联网下载工具)。截图如下:
安装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,都存在这很多的求助帖。
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
lxml安装成功
目录说明
首先我们输入termux-setup-storage将手机目录共享给termux,完成后会在home目录下多出一个storage的文件夹。
目录说明
了解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中看看是否同步
目录共享
无意中暴露了我的Mate 20X,哈哈…之所以当时要买7.2英寸的20x就是为了将手机打造成python开发工具。
优化编辑器
大家都知道Linux环境下开发python,大神们都推荐的是vi,用其他的工具都显得不高端…那么如何优化我们的编辑器呢?安装vi的哥哥vim,针对vim下开发python安装vim-python 代码
1# 安装vim vim-python
2pkg install vim vim-python
3# 创建vim配置文件
4vim .vimrc
5# 添加 vim 配置文件
6set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
7set enc=utf8
8set fencs=utf8,gbk,gb2312,gb18030
9# 保存
10:wq
11# 立即生效
12source .vimrc
来看看vim-python的编码效果:
vim-python
vim-python
手机编程
最后来说说Termux的python开发问题,今天有朋友问到,Termux下写Python代码应该用什么编辑器呢?只用vim没有代码联想,写起来很麻烦…
你可以尝试使用Jupyter Notebook …
如果是按照我之前教程安装的Termux,那么直接pip install jupyter即可完成安装…
Termux权限设置
默认情况下Termux安装到手机后,是没有后台运行权限的,即如果你离开Termux桌面,那么将无法继续使用相关的web项目。你需要关闭手机启动管理的自动管理,然后添加上允许后台活动。
Termux设置
之后再输入jupyter notebook,即可达到后台运行的效果。
jupyter notebook
成功启动jupyter notebook后,会在命令行生成一个带token的url,复制它到你的手机浏览器上,现在在你的手机上好好练习代码吧…
代码运行
一道Leetcode上的练习题,在jupyter notebook上运行是不是完美….
爬虫代码运行
怎么样,不管是原生的vim还是大家喜爱的jupyter notebook,展示效果还算不错吧!再让我们执行一段爬虫代码
手机最强Python编程神器,在手机上运行Python
手机编程软件有很多,大部分都很难使用,操作不灵活,甚至不能安装第三方库。
尝试安装了很多Python移动编程软件,发现了很多问题,不是编码效率低就是各种bug。今天,来自一位python编程小哥指导,向大家推荐两款精心挑选的手机编程软件,它们也是非常成熟的手机编程工具。
QPython OH
Qpython是一个轻量级的、成熟的python编程工具。它配有终端和简单的代码编辑器。它支持安装第三方库。目前,它支持Python 3.6.6,这还不算太老。
代码编辑区域代码比其他手机编程软件更灵活,底部有常用的关键字和符号。
保存后,可以在终端中输出结果。
许多手机编程软件不提供第三方库的安装。Qpython支持安装第三方库和工具。
最后,我认为最有趣的功能是你可以通过局域网访问qpython web编辑器。在电脑上编程,将手机作为终端输出结果。
这样,您就不必在计算机上安装任何Python。相反,您可以直接在计算机上编写输出代码并同步更新。
优点:
Qpython编程功能全面、丰富 编码灵活,项目文件也可以保存,将电脑代码连接到手机输出并同步更新。
缺点:
Python版本稍老代码无代码提示完成功能,纯手工QPython网页编辑器中文代码,终端输出也凌乱不堪
Aid Learning
Aid Learning是一款很酷的高端移动编程工具,可以直接在app Store中下载和安装。
打开首先看到的是一个精通技术的球体运动。
稍等片刻会让你选择安装依赖,建议选择PRO版,工具更多。
依赖包比较大,如果你的网速够快,大概等一分钟以上就下载安装好依赖,接着,就直接进入了一个Mac系统。
是的,没有看错,这简直就是安装了一个Mac系统在自己的手机里,可以看到,已经配备了很多Python开发工具,包括我们再熟悉不过的VScode和jupyter。
赶紧打开VScode和jupyter编码试一试。
通过上图看到,VScode界面显示不全。
jupyter很好的适配了手机屏幕。在我的体验中,也就jupyter非常好用,其它开发工具包括VScode用起来非常难受,毕竟软件界面那么大,缩进方寸之间的手机屏幕上实在是为难,容易误点。
使用Aid Learning就像操作一台Mac系统电脑一样,虽然比不上一台真正的实体机,但是编码来说,太棒了,里面配备了很多开发工具,不止VScode和jupyter。
同样的,Aid Learning支持局域网连接电脑网页端,数据同步,完全的在电脑上编码。
这意味着您的计算机不需要编程环境或任何开发工具,您可以连接到移动辅助学习并立即使用编码软件。
在它上面安装依赖项和打包插件是没有问题的。还有许多有趣的工具。我在这里就不提了。你可以自己探索它们。
优点:
配备了很多开发工具,无须自己配置,开箱即用
可以连接电脑,编码更方便,手机电脑数据同步更新
缺点:
手机端编码不灵活,连接电脑时而卡顿
以上两款手机编程软件各有优缺点,但我觉得在很多手机编程工具中都做得很好,可以去手机应用商店下载,都是普通的免费软件,不需要注册,不需要登录,没有敏感权限,请随意安装。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。