将安卓手机打造成你的python全栈开发利器
超神利器
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
相信多数安卓用户都使用过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.
更新源:
为了我们能获取到最新的插件信息,需要更新一下镜像源列表
2.
安装python及pip
系统为我们安装了最新的python3.7.4版本
3.
安装依赖插件
这一步阻塞了很长的时间,可以看到网上针对lxml的安装不管是linux系统还是咱们的Termux,都存在这很多的求助帖。
lxml安装报错
按照很多热心网友的回答去尝试安装插件,和其他解决办法,都没有成功。
多数的报错是提示libxml2插件未安装,可明明安装了,之后查阅资料了解python在使用该插件的使用需要通过clang插件的编译后才能使用,但是安装后有提示conv.h的文件无法获取等等。这个问题断断续续卡了我两天时间,光卸载安装Termux就搞了几次,每月20G的流量我就剩5G了…最终找齐了所有插件总结给大家:
lxml安装成功
目录说明
首先我们输入termux-setup-storage
将手机目录共享给termux,完成后会在home目录下多出一个storage的文件夹。
目录说明
了解Linux的朋友应该比较清楚创建链接与挂载点的问题,手机的目录在Termux的/data/data/com.termux/files/home/storage/shared内。那么同样的,我们可以将手机的代码目录映射到Termux中。命令如下:
然后,我们将小说下载器的脚本Novels.py丢到手机的Codes_Repository,再去Termux中看看是否同步
目录共享
(无意中暴露了我的Mate 20X。之所以当时要买7.2英寸的20x就是为了将手机打造成python开发工具)
优化编辑器
大家都知道Linux环境下开发python,大神们都推荐的是vi,用其他的工具都显得不高端。那么如何优化我们的编辑器呢?安装vi的哥哥vim,针对vim下开发python安装vim-python 代码
来看看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,展示效果还算不错吧!再让我们执行一段爬虫代码
模块安装与使用
可以看到,第一次运行提示缺失requests模块,通过pip安装后,再次执行,爬取小说网站,下载了最近5章的小说内容。
Termux下使用git
既然要做成python开发者桌面怎么能少了git工具的使用?
Git
image.png
现在我们从手机上下载代码,进行安装
因为代码是通过pipenv进行开发的,所以从安装到使用,你无需关注虚拟环境到底涉及什么模块,需要怎么安装,没错pipenv就是这么简单粗暴!放几张图吧:
下载代码与安装虚拟环境
别说,安装的这个小蛇还挺可爱的
安装插件并启动flask
最终看看手机运行是否正常吧(恩,明天天气不错):
超神利器
相信多数安卓用户都使用过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-pythonvim-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,展示效果还算不错吧!再让我们执行一段爬虫代码
模块安装与使用
可以看到,第一次运行提示缺失requests模块,通过pip安装后,再次执行,爬取小说网站,下载了最近5章的小说内容。
Termux下使用git
既然要做成python开发者桌面怎么能少了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
现在我们从手机上下载代码,进行安装
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
因为代码是通过pipenv进行开发的,所以从安装到使用,你无需关注虚拟环境到底涉及什么模块,需要怎么安装,没错pipenv就是这么简单粗暴!放几张图吧:
下载代码与安装虚拟环境
别说,安装的这个小蛇还挺可爱的
安装插件并启动flask
最终看看手机运行是否正常吧(恩,明天天气不错):
原文地址:https://www.cnblogs.com/shannian999/p/12910973.html
- 用mysqlslap进行mysql压力测试
- 域名Matrix.io以20万元结拍,被搭建区域链相关网站
- 结合ABP源码实现邮件发送功能
- Discuz!关于出现“对不起,您安装的不是正版应用”的解决办法
- 利用C#迭代器的一个杨辉三角示例
- 计算机组成原理之机器
- Elasticsearch 健康状态处理
- 开始菜单中没有运行时怎么办
- Elasticsearch 的一些关键概念
- Elasticsearch 相关 api 操作
- 【前端开发系列】—— 文字阴影与样式
- Elasticsearch 在 windows 和 ubuntu 下详细安装过程
- 【前端开发系列】—— 利用选择器添加内容
- c# 协变和逆变的理解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PAT (Basic Level) Practice (中文)1012 数字分类 (20 分)
- PAT (Basic Level) Practice (中文)1018 锤子剪刀布 (20 分)
- 还在用传统的方式驱动一个通信模组?不如一起来学习下TOS的AT模组框架吧!
- 编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(一)词法分析
- Codeforces Round #199 (Div. 2)C. Cupboard and Balloons
- PAT (Basic Level) Practice (中文)1004 成绩排名 (20 分)
- PAT (Basic Level) Practice (中文)1020 月饼 (25 分)
- 201709-2ccf计算机职业资格认证考试第二题公共钥匙盒
- SAP Spartacus里cx-carousel的实现
- 技术分享 | 改写 mysqldump 解决 DEFINER 问题
- CNS图表复现04—单细胞聚类分群的resolution参数问题
- 学习Vue3.0,先从搭建环境开始
- AIM Tech Round 5 (rated, Div. 1 + Div. 2)C. Rectangles
- PAT (Basic Level) Practice (中文)1006 换个格式输出整数 (15 分)
- 编译原理实战入门:用 JavaScript 写一个简单的四则运算编译器(二)语法分析