將安卓手機(jī)打造成你的python全棧開發(fā)利器
作者 |?王翔
來源?|?清風(fēng)Python


相信多數(shù)安卓用戶都使用過Qpython這款移動(dòng)端的Python編輯器吧?之前我也研究過一陣子這個(gè)工具,但因?yàn)橐淮魏唵蔚呐老x讓我對(duì)它失望之極。Qpython不支持lxml這個(gè)模塊,然而python中l(wèi)xml作為最底層的模塊,不管是爬蟲還是文檔解析,都需要使用它。所以,Termux應(yīng)運(yùn)而生….
Termux不僅可以幫助你學(xué)習(xí)和使用Linux系統(tǒng),更可以通過安裝各種插件,當(dāng)做我們python全棧開發(fā)利器!今天我就帶大家了解下,如何在手機(jī)上玩轉(zhuǎn)Python 爬蟲、jupyter notebook、git代碼托管、Web開發(fā)?等等全套炫酷的功能!

Termux是一個(gè)Android終端的Linux環(huán)境仿真器。主要的是它無需root,就可以直接進(jìn)行安裝使用??梢允褂胊pt包管理器或者這個(gè)工具推薦的pkg命令來定制安裝其他的工具。何為其他工具?Linux下你能想到的工具,都可以去嘗試,多數(shù)都可以直接安裝,但也有部分工具需要你轉(zhuǎn)個(gè)彎,比如在手機(jī)中安裝mysql數(shù)據(jù)庫!
Termux的Wiki官網(wǎng):https://wiki.termux.com/wiki/Main_Page
Termux的Wiki官網(wǎng)中可以看到推薦的下載方式是Google Play 和F-Droid。Google Play在手機(jī)上安裝太麻煩了,所以推薦F-Droid,雖然它比較慢…當(dāng)然你可以離線下載Termux的apk文件,雖然這樣沒辦法獲取更新。安裝果果橙比較簡單,下載F-Droid,完成安裝后搜索Termux,下載即可。

剛才說到Termux的簡單介紹與下載方式,那么下載完成,安裝的只是這個(gè)工具,而非我們的Python開發(fā)者桌面。Termux安裝完成首次進(jìn)入會(huì)進(jìn)行相關(guān)的初始化工作,等待1-2分鐘即可(此時(shí)需要聯(lián)網(wǎng)下載工具)。截圖如下:
安裝Termux.png之后就該進(jìn)入我們的DIY時(shí)間了!
1.更新源:為了我們能獲取到最新的插件信息,需要更新一下鏡像源列表
1pkg?update
2pkg?upgrade
3pkg?install?python?python-dev2.安裝python及pip系統(tǒng)為我們安裝了最新的python3.8版本,緊追時(shí)尚潮流….
1pkg?install?python?python-static
2pip?install?--upgrade?pip3.安裝依賴插件這一步阻塞了很長的時(shí)間,可以看到網(wǎng)上針對(duì)lxml的安裝不管是linux系統(tǒng)還是咱們的Termux,都存在這很多的求助帖。
lxml安裝報(bào)錯(cuò)按照很多熱心網(wǎng)友的回答去嘗試安裝插件,和其他解決辦法,都沒有成功。
多數(shù)的報(bào)錯(cuò)是提示libxml2插件未安裝,可明明安裝了,之后查閱資料了解python在使用該插件的使用需要通過clang插件的編譯后才能使用,但是安裝后有提示conv.h的文件無法獲取等等。
這個(gè)問題斷斷續(xù)續(xù)卡了我兩天的時(shí)間,光卸載安裝Termux就搞了幾次,每月20G的流量我就剩5G了…最終找齊了所有插件總結(jié)給大家:
1pkg install libxml2 libxslt libiconv? libllvm clang? libzmq libc++
2pip?install?lxml
lxml安裝成功
首先我們輸入termux-setup-storage將手機(jī)目錄共享給termux,完成后會(huì)在home目錄下多出一個(gè)storage的文件夾。
目錄說明了解Linux的朋友應(yīng)該比較清楚創(chuàng)建鏈接與掛載點(diǎn)的問題,手機(jī)的目錄在Termux的/data/data/com.termux/files/home/storage/shared內(nèi)。那么同樣的,我們可以將手機(jī)的代碼目錄映射到Termux中。命令如下:
ln -s /data/data/com.termux/files/home/storage/shared/Codes_Repository ~/Codes然后,我們將小說下載器的腳本Novels.py丟到手機(jī)的Codes_Repository,再去Termux中看看是否同步
目錄共享無意中暴露了我的Mate 20X,哈哈…之所以當(dāng)時(shí)要買7.2英寸的20x就是為了將手機(jī)打造成python開發(fā)工具。
優(yōu)化編輯器

大家都知道Linux環(huán)境下開發(fā)python,大神們都推薦的是vi,用其他的工具都顯得不高端…那么如何優(yōu)化我們的編輯器呢?安裝vi的哥哥vim,針對(duì)vim下開發(fā)python安裝vim-python 代碼
1#?安裝vim?vim-python
2pkg?install?vim?vim-python
3#?創(chuàng)建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手機(jī)編程

最后來說說Termux的python開發(fā)問題,今天有朋友問到,Termux下寫Python代碼應(yīng)該用什么編輯器呢?只用vim沒有代碼聯(lián)想,寫起來很麻煩…
你可以嘗試使用Jupyter Notebook …
如果是按照我之前教程安裝的Termux,那么直接pip install jupyter即可完成安裝…

默認(rèn)情況下Termux安裝到手機(jī)后,是沒有后臺(tái)運(yùn)行權(quán)限的,即如果你離開Termux桌面,那么將無法繼續(xù)使用相關(guān)的web項(xiàng)目。你需要關(guān)閉手機(jī)啟動(dòng)管理的自動(dòng)管理,然后添加上允許后臺(tái)活動(dòng)。
Termux設(shè)置之后再輸入
jupyter notebook,即可達(dá)到后臺(tái)運(yùn)行的效果。
jupyter notebook成功啟動(dòng)jupyter notebook后,會(huì)在命令行生成一個(gè)帶token的url,復(fù)制它到你的手機(jī)瀏覽器上,現(xiàn)在在你的手機(jī)上好好練習(xí)代碼吧…
代碼運(yùn)行一道Leetcode上的練習(xí)題,在jupyter notebook上運(yùn)行是不是完美….
爬蟲代碼運(yùn)行

怎么樣,不管是原生的vim還是大家喜愛的jupyter notebook,展示效果還算不錯(cuò)吧!再讓我們執(zhí)行一段爬蟲代碼
模塊安裝與使用可以看到,第一次運(yùn)行提示缺失requests模塊,通過pip安裝后,再次執(zhí)行,爬取小說網(wǎng)站,下載了最近5章的小說內(nèi)容。

既然要做成python開發(fā)者桌面怎么能少了git工具的使用?
1pkg?install?git
2git?config?--global?user.name?"Usernam"
3git?config?--global?user.email??"email-addr"
4git?clone?https://github.com/BreezePython/FlaskTests.git
Git
image.png現(xiàn)在我們從手機(jī)上下載代碼,進(jìn)行安裝…
1#?如果為安裝pipenv,需要先進(jìn)行安裝操作
2pip?install?pipenv
3#?克隆代碼
4git?clone?https://github.com/BreezePython/WeatherForecast.git
5#?進(jìn)入代碼目錄
6cd?WeatherForecast
7#?安裝虛擬機(jī)及依賴模塊
8pipenv?install
9#?進(jìn)入虛擬機(jī)
10pipenv?shell
11#?啟動(dòng)flask
12flask?run
因?yàn)榇a是通過pipenv進(jìn)行開發(fā)的,所以從安裝到使用,你無需關(guān)注虛擬環(huán)境到底涉及什么模塊,需要怎么安裝,沒錯(cuò)pipenv就是這么簡單粗暴!放幾張圖吧:
下載代碼與安裝虛擬環(huán)境別說,安裝的這個(gè)小蛇還挺可愛的….
安裝插件并啟動(dòng)flask最終看看手機(jī)運(yùn)行是否正常吧(恩,明天天氣不錯(cuò)....):
手機(jī)運(yùn)行大家說這樣的工具,是不一頓操作猛如虎,看得我自己的害怕啊….
Termux的離線安裝包和小說下載的腳本鏈接:https://pan.baidu.com/s/1Xf3_nVzEuUy6C9FZtXFY7g
提取碼:b3xa
從此手機(jī)在手,天下我有,帶你走上python超神路!
