欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩!

超神利器…

这款工具在上篇文章当Python遇到Andriod手机,那么,万物皆可盘后,就开始准备了。为什么?
首先,Qpython不支持lxml这个模块,而了解python爬虫的都知道很多爬虫的html解析都是依赖该模块的,即便Qpython的文章中,我使用bs4配合html.parser解析插件跳过了lxml的依赖,但只是一个规避方式,我需要从源头上找到一款真的可以解决此问题的工具。
再者来说,Qpython顶多算是一个python的手机简单编辑器,想将手机打造成python开发环境,那么Qpython还差的太远了…
所以,**Termux**应运而生…
Termux不仅当做我们的python开发者桌面使用,更可以通过安装各种插件,帮助你学习和使用Linux系统。有些人会问,为什么要死磕在手机上开发python呢,因为太多的IT公司出于保密与安全考虑,内外网隔离,切不允许自带电脑入场…

Termux介绍

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


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

Python开发者桌面

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


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

更新源:

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

pkg update
pkg upgrade
pkg install python python-dev

安装python及pip

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

pkg install python python-dev
pip install --upgrade pip

安装依赖插件

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

按照很多热心网友的回答去尝试安装插件,和其他解决办法,都没有成功。
多数的报错是提示libxml2插件未安装,可明明安装了,之后查阅资料了解python在使用该插件的使用需要通过clang插件的编译后才能使用,但是安装后有提示conv.h的文件无法获取等等。这个问题断断续续卡了我两天你的时间,光卸载安装Termux就搞了几次,每月20G的流量我就剩5G了…最终找齐了所有插件总结给大家:

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

目录说明:

了解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 代码

# 安装vim vim-python
pkg install vim vim-python
# 创建vim配置文件
vim .vimrc
# 添加 vim 配置文件
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030
# 保存
:wq
# 立即生效
source .vimrc

编辑器效果展示

来看看vim-python的编码效果:

代码运行

怎么样,对于原生的vim来说,展示效果还算不错吧…那么是不是花架子?试试便知

可以看到,第一次运行提示确实requests模块,通过pip安装后,再次执行,完美…

Termux下使用git

既然要做成python开发者桌面怎么能少了git工具的使用?

pkg install git
git config --global user.name "Usernam"
git config --global user.email  "email-addr"
git clone https://github.com/KingUranus/FlaskTests.git

你说这工具,是不一顿操作猛如虎,看得我自己的害怕啊,哈哈…

The End

OK,今天的内容就到这里,如果觉得内容对你有所帮助,可以点击文章右下角的“在看”。
公众号回复安卓开发,即可获得Termux的离线安装包和小说下载的脚本。从此带你走上python超神路!
欢迎将这篇文章或我的微信公众号【清风Python】分享给更多喜欢python的人,谢谢。

来源:华为云社区征文 作者:清风Python

将Android手机打造成你的Python开发者桌面#华为云·寻找黑马程序员#相关推荐

  1. 黑马程序员python笔记_#华为云·寻找黑马程序员# 如何实现一个优雅的Python的Json序列化库...

    [小宅按]在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题.Python标准库里面提供了json序列化的工具,我们可以简单的用json.dumps来将一个对象序列化. ...

  2. Flask开发成语接龙游戏,以后闲了手机玩玩自己写的游戏吧!#华为云·寻找黑马程序员#

    文章目录 明天你好,我叫干不倒 英语单词学习应用 成语接龙 接龙规则 实现分析 数据库信息 登陆排行 游戏界面 成语判断 拼音识别 代码编写 Jinjia2模板 Flask装饰器 游戏演示 手机搭建项 ...

  3. 史上最全python字符串操作指南 #华为云·寻找黑马程序员#

    惨不忍睹 拿出了看家的老中医野广告,都没能拯救惨淡的selenium剧集.上周五和朋友聊天,说希望看到一些python基础的知识.本来还担心更新基础的东西没人看,但现在看来,最差不过selenium系 ...

  4. 使用Python开发小说下载器,不再为下载小说而发愁 #华为云·寻找黑马程序员#

    需求分析 免费的小说网比较多,我看的比较多的是笔趣阁.这个网站基本收费的章节刚更新,它就能同步更新,简直不要太叼.既然要批量下载小说,肯定要分析这个网站了- 在搜索栏输入地址后,发送post请求获取数 ...

  5. python让你再也不为文章配图与素材发愁,让高清图片占满你的硬盘! #华为云·寻找黑马程序员#

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  6. #华为云·寻找黑马程序员# 如何实现一个优雅的Python的Json序列化库

    在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题.Python标准库里面提供了json序列化的工具,我们可以简单的用json.dumps来将一个对象序列化.但是这种序 ...

  7. Python开发还在用virtualenv?不如了解下pipenv...#华为云·寻找黑马程序员#

    又见 Kenneth Reitz 之前公众号写了一篇文章爬虫新宠requests_html 带你甄别2019虚假大学,其中主要是为了介绍模块**requests_html,这个模块的作者还开发了req ...

  8. Python正则表达式,看完这篇文章就够了...#华为云·寻找黑马程序员#

    正则表达式简介 正则表达式,是一个特殊的字符序列,又称规则表达式(英语:Regular Expression,在代码中常简写为regex.regexp 或RE),本质而言是一种小型的,高度专业化的编程 ...

  9. python培训班-Python培训机构_高品质Python线下开发培训班推荐-黑马程序员

    Python编程基础基础班1 课时:15天技术点:97项测验:2次学习方式:线下面授 学习目标 1.掌握Python开发环境基本配置|2.掌握运算符.表达式.流程控制语句.数组等的使用|3.掌握字符串 ...

最新文章

  1. 白领们注意啦:“过劳死”27个危险信号!
  2. leetcode_1. Two Sum
  3. 漫话:如何给女朋友解释什么是 Git 和 GitHub?
  4. mysql 设置 0、1 用什么数据类型_MySQL索引的基本使用
  5. 做人工智能必看的45篇论文(附下载地址)
  6. uniapp中vuex状态管理
  7. Selenium3自动化测试——17.控制滑动解锁
  8. Oracle varchar2或char类型的byte和char的区别
  9. (1)JavaScript入门
  10. mysql远程连接打不开_MySql远程连接无法打开解决办法
  11. 为什么都建议学java而不是python-为什么java比python复杂,还是有很多人选择学习java?...
  12. 201671030110词频统计软件项目报告
  13. 关于函数连续性的逐点定义
  14. 一生中必看的30个故事
  15. cad工具箱详细讲解_正确使用AutoCAD插件CAD工具箱如何使用?
  16. db2的驱动程序为db2jcc4-1.6.0_97.jar和db2jcc_license_cu-1.4.2_9.7.jar
  17. fir.im Weekly - 如何打造 Github 「爆款」开源项目
  18. ssm框架访问数据库一直在转圈(请求)
  19. Linux通用笔记---Kalrry
  20. 爬取沪江网考研词汇并按要求存为txt

热门文章

  1. java电脑_电脑上搭建java开发环境
  2. php 502状态码,Nginx502状态码处理
  3. 两个运放制作加法器_集成电路的分类及其制作工艺
  4. 线性dp——cf988F
  5. A smooth collaborative recommender system 推荐系统-浅显了解
  6. python入门之装饰器
  7. ELK学习总结(2-5)elk的版本控制
  8. csuoj 1351: Tree Counting
  9. poj 1068 Parencodings (模拟)
  10. C++ STL set集合的使用