想不想在手機上敲 Python 代碼?!這裡有一款推薦方案

想不想在手機上敲 Python 代碼?!這裡有一款推薦方案

現在手機已經成為了佔據大家屏幕時間最長的設備了,那麼有沒有在手機端敲Python代碼的方案呢?

編程派之前分享過手機端的一款 Python IDE:Pythonista:移動端的Python好幫手,這是專門開發的APP,體驗還是不錯的。

如果你想要更加定製化,更接近電腦端的體驗,推薦你們參考今天這篇利用安卓系統的終端工具Termux打造Python開發環境的文章。

文 | 王翔

超神利器…

想不想在手机上敲 Python 代码?!这里有一款推荐方案

相信多數安卓用戶都使用過Qpython這款移動端的Python編輯器吧?之前我也研究過一陣子這個工具,但因為一次簡單的爬蟲讓我對它失望之極。Qpython不支持lxml這個模塊,然而python中lxml作為最底層的模塊,不管是爬蟲還是文檔解析,都需要使用它。所以,<code>Termux/<code>應運而生….

Termux不僅可以幫助你學習和使用Linux系統,更可以通過安裝各種插件,當做我們python全棧開發利器!今天我就帶大家瞭解下,如何在手機上玩轉Python 爬蟲jupyter notebookgit代碼託管Web開發等等全套炫酷的功能!

Termux介紹

Termux是一個Android終端的Linux環境仿真器。主要的是它無需root,就可以直接進行安裝使用。可以使用apt包管理器或者這個工具推薦的pkg命令來定製安裝其他的工具。何為其他工具?Linux下你能想到的工具,都可以去嘗試,多數都可以直接安裝,但也有部分工具需要你轉個彎,比如在手機中安裝mysql數據庫!

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

想不想在手机上敲 Python 代码?!这里有一款推荐方案

官網中可以看到推薦的下載方式是Google Play 和F-Droid。Google Play在手機上安裝太麻煩了,所以推薦F-Droid,雖然它比較慢…當然你可以離線下載Termux的apk文件,雖然這樣沒辦法獲取更新。安裝果果橙比較簡單,下載F-Droid,完成安裝後搜索Termux,下載即可。

Python開發者桌面

剛才說到Termux的簡單介紹與下載方式,那麼下載完成,安裝的只是這個工具,而非我們的Python開發者桌面。Termux安裝完成首次進入會進行相關的初始化工作,等待1-2分鐘即可(此時需要聯網下載工具)。截圖如下:

想不想在手机上敲 Python 代码?!这里有一款推荐方案

之後就該進入我們的DIY時間了!

1. 更新源:

為了我們能獲取到最新的插件信息,需要更新一下鏡像源列表

<code>1pkg update
2pkg upgrade
3pkg install python python-dev/<code>

2. 安裝python及pip

系統為我們安裝了最新的python3.7.4版本,緊追時尚潮流….

<code>1pkg install python python-dev
2pip install --upgrade pip/<code>

3. 安裝依賴插件

這一步阻塞了很長的時間,可以看到網上針對lxml的安裝不管是linux系統還是咱們的Termux,都存在這很多的求助帖。

想不想在手机上敲 Python 代码?!这里有一款推荐方案

按照很多熱心網友的回答去嘗試安裝插件,和其他解決辦法,都沒有成功。

多數的報錯是提示libxml2插件未安裝,可明明安裝了,之後查閱資料瞭解python在使用該插件的使用需要通過clang插件的編譯後才能使用,但是安裝後有提示conv.h的文件無法獲取等等。這個問題斷斷續續卡了我兩天你的時間,光卸載安裝Termux就搞了幾次,每月20G的流量我就剩5G了…最終找齊了所有插件總結給大家:

<code>1pkg install libxml2 libxml2-dev libxslt libxslt-dev libiconv libiconv-dev libclang clang libzmq libzmq-dev libc++
2pip install lxml
/<code>
想不想在手机上敲 Python 代码?!这里有一款推荐方案

目錄說明

首先我們輸入<code>termux-setup-storage/<code>將手機目錄共享給termux,完成後會在home目錄下多出一個storage的文件夾。

想不想在手机上敲 Python 代码?!这里有一款推荐方案

瞭解Linux的朋友應該比較清楚創建鏈接與掛載點的問題,手機的目錄在Termux的/data/data/com.termux/files/home/storage/shared內。那麼同樣的,我們可以將手機的代碼目錄映射到Termux中。命令如下:

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

然後,我們將小說下載

器的腳本Novels.py丟到手機的Codes_Repository,再去Termux中看看是否同步

想不想在手机上敲 Python 代码?!这里有一款推荐方案

無意中暴露了我的Mate 20X,哈哈…之所以當時要買7.2英寸的20x就是為了將手機打造成python開發工具。

大家都知道Linux環境下開發python,大神們都推薦的是vi,用其他的工具都顯得不高端…那麼如何優化我們的編輯器呢?安裝vi的哥哥vim,針對vim下開發python安裝vim-python 代碼

<code> 1# 安裝vim vim-python
2pkg install vim vim-python
3# 創建vim配置文件
4vim .vimrc
5# 添加 vim 配置文件
6set fileencodings=utf-8,gb2312,gb180
30,gbk,ucs-bom,cp936,latin1
7set enc=utf8
8set fencs=utf8,gbk,gb2312,gb18030
9# 保存
10:wq
11# 立即生效
12source .vimrc
/<code>

來看看vim-python的編碼效果:

想不想在手机上敲 Python 代码?!这里有一款推荐方案想不想在手机上敲 Python 代码?!这里有一款推荐方案

手機編程

最後來說說Termux的python開發問題,今天有朋友問到,Termux下寫Python代碼應該用什麼編輯器呢?只用vim沒有代碼聯想,寫起來很麻煩…

你可以嘗試使用Jupyter Notebook …

如果是按照我之前教程安裝的Termux,那麼直接pip install jupyter即可完成安裝…

Termux權限設置

默認情況下Termux安裝到手機後,是沒有後臺運行權限的,即如果你離開Termux桌面,那麼將無法繼續使用相關的web項目。你需要關閉手機啟動管理的自動管理,然後添加上允許後臺活動。

想不想在手机上敲 Python 代码?!这里有一款推荐方案<code>
jupyter notebook/<code>

,即可達到後臺運行的效果。

想不想在手机上敲 Python 代码?!这里有一款推荐方案

成功啟動jupyter notebook後,會在命令行生成一個帶token的url,複製它到你的手機瀏覽器上,現在在你的手機上好好練習代碼吧…

想不想在手机上敲 Python 代码?!这里有一款推荐方案

一道Leetcode上的練習題,在jupyter notebook上運行是不是完美….

爬蟲代碼運行

怎麼樣,不管是原生的vim還是大家喜愛的jupyter notebook,展示效果還算不錯吧!再讓我們執行一段爬蟲代碼

想不想在手机上敲 Python 代码?!这里有一款推荐方案

可以看到,第一次運行提示缺失requests模塊,通過pip安裝後,再次執行,爬取小說網站,下載了最近5章的小說內容。

Termux下使用git

既然要做成python開發者桌面怎麼能少了git工具的使用?

<code>1pkg install git
2git config --global user.name "Usernam"
3git config --global user.email "email-addr"
4git clone https://github.com/BreezePython/FlaskTests.git
/<code>
想不想在手机上敲 Python 代码?!这里有一款推荐方案想不想在手机上敲 Python 代码?!这里有一款推荐方案

現在我們從手機上下載代碼,進行安裝…

<code> 1# 如果為安裝pipenv,需要先進行安裝操作
2pip install pipenv
3# 克隆代碼
4git clone https://github.com/BreezePython/WeatherForecast.git
5# 進入代碼目錄
6cd WeatherForecast
7# 安裝虛擬機及依賴模塊
8pipenv install
9# 進入虛擬機
10pipenv shell
11# 啟動flask
12flask run
/<code>

因為代碼是通過pipenv進行開發的,所以從安裝到使用,你無需關注虛擬環境到底涉及什麼模塊,需要怎麼安裝,沒錯pipenv就是這麼簡單粗暴!放幾張圖吧:

想不想在手机上敲 Python 代码?!这里有一款推荐方案

別說,安裝的這個小蛇還挺可愛的….

想不想在手机上敲 Python 代码?!这里有一款推荐方案

最終看看手機運行是否正常吧(恩,明天天氣不錯....):

想不想在手机上敲 Python 代码?!这里有一款推荐方案

大家說這樣的工具,是不一頓操作猛如虎,看得我自己的害怕啊….


分享到:


相關文章: