神器Termux(二)——如何用安卓手机舒服地写Python

用惯了windows和图形化界面的大家,或多或少对命令行有些抵触,有没有好的解决方案呢?先看看在Termux上写Python是种怎样的体验吧。

一、Python shell交互模式体验

在命令行中输入python按回车即可进入python原生的交互模式。

交互模式以 >>> 开头,用户可以直接输入代码,回车后程序执行代码,如:

退出交互模式可输入

exit()

quit()

交互模式可以一行行执行代码,也可以直接粘贴代码块,不过需要注意缩进。

体验了一段时间之后,发现确实不适合长时间写代码,总结缺点如下:

1.黑底白字很刺眼,长时间看容易眼疲劳,伤眼(颜色可以修改,以后会介绍);

2.操作不易:

我们可以通过右滑屏幕左边呼出Termux的功能菜单,里面只有KEYBOARD和NEW SESSION两个功能和会话列表,长按KEYBOARD可以呼出隐藏的功能键盘,包含手机软键盘没有的功能键,比如tab、ctrl、shift、tab等,还有三种常用的线,如下图:

如此这般操作起来就很难受了,比如你输入了很长一串语句,突然发现前面的部分需要修改,你就得按住ctrl和b键,修改完之后,又得ctrl加f往后移动光标,大概修改了几次之后耐心就会被消磨的差不多了。

好在Termux提供了一个输入框,功能键盘向左滑动就可以看到,在这里面就可以通过点击来定位光标,不过输入框为单行,依然很不方便。

3.代码管理不方便,文件操作复杂,这两点就不说了,用过自然知道。

二、Jupyter的使用方法

那么有没有什么好的方案呢?当然是有的,下面给大家隆重介绍上一篇中提过的一个模块——Jupyter,先看看效果怎么样。

看见没!甚至可以画图!

如果依照上篇中的步骤操作的话,执行完

LDFLAGS=“-lm -lcompiler_rt” pip install jupyter

这条语句之后,你就已经成功安装Jupyter了,下面介绍使用方法。

执行语句:

jupyter notebook -ip 0.0.0.0

看到上面的输出就代表已经成功搭建好基于网页的开发环境,第一次运行时,网址后会有一串token,用于验证身份,我们不用管,直接将整个网址复制进浏览器中,如果还要求输入token,可以按照提示把token手动复制进网页,接下来你可以设置密码,以后再次进入就不需要再验证了。

以上是理想情况,我在手机上登录该网页时就碰到了这种情况。

原因还未知,暂且认为本机在解析这个地址时出现问题了吧,那问题怎么解决呢?

接着我想到了一个解决方案,不仅能解决这个问题,还可以把我们用于编程的设备变得更顺手!

思路就是把安装了Jupyter的手机和其他设备(比如平板电脑)置于同一局域网中,然后通过该设备访问该页面。

置于同一局域网可以通过连接同一路由器,或者用手机开启无线网络热点,其他设备接入该网络。我以手机开热点为例。

完成后,在命令行输入ifconfig查看手机IP地址,不过输出挺多看着挺烦,简单点就是在平板上的设置里查看Wi-Fi的信息:

其中的路由器地址就是手机在局域网中的IP地址,如果是连接的同一个路由器的情况,则可以通过在手机端查看Wi-Fi设置,找到本机IP地址。

接下来在平板的浏览器中输入:

http://手机的IP地址:8888/

比如

http://192.168.43.1:8888/

接下来就成功进入网页了,为加上token的话需要按照要求填入,然后设置密码,接下来就可以舒服地写代码了!

Jupyter分为三个部分,一个是文件管理(可以上传文件),一个是正在运行,包括正在运行的终端和记事本,还有一个用于启用和设置运算集群的引擎数,我们暂时用不到(其实我也不会用QAQ)。

接下来我们新建一个Python3,可以看到如下界面,接下来我们就可以像在各种现代化的(雾)IDE里面一样编程啦,可以正常换行,每个输入框可以放置若干行代码,一般一个整体放在一起,看个人喜好了,点击run可以运行该部分代码,还可以终止或者重启内核,大家可以自行摸索,总之用起来舒服多啦!

举个例子:

为什么又是Hello world!难道作者你只会这个吗???

你不懂,我试试新的开发环境就是喜欢Hello world!

这个系列只负责介绍,高级一点的可以以后再交流嘛,只要你有想法和思路,以后有意思的事可多了,比如这个:

你怕不怕?

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180607G10GS300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励